負(fù)邊距學(xué)習(xí)隨筆

一、判定邊界相鄰

?文檔流中元素的按塊元素從上到下,內(nèi)聯(lián)元素從左至右依次流入頁面,一個(gè)元素流入時(shí),會(huì)按照與上一個(gè)元素的判定邊界相鄰流入頁面,關(guān)于此處所說判定邊界,并不是單指border,而是margin影響后,后一個(gè)元素流入時(shí)的判定邊界(正margin則border加上該值,負(fù)margin則減去該值),如下例所示:

  • 元素1有margin-right=10px,元素2無margin-left:
元素1margin-right=10px,元素2margin-left=0px

?元素2流入時(shí),其判定邊界(border+0=border)與元素1的判定邊界(border+10px)相鄰。所以中間即是元素1的margin-right。

  • 元素1有margin-right=10px,元素2有margin-left=10px:
元素1margin-right:10px;元素2margin-left:10px

?元素2流入時(shí),其判定邊界(border+10px)與元素1的判定邊界(border+10px)相鄰,中間的20px即為元素1的margin-right和元素2的margin-left。

二、負(fù)邊距改變?cè)卦谖臋n流中位置

?當(dāng)margin值為負(fù)數(shù)時(shí),元素流入依然遵循以上原則,從而可以改變?cè)卦谖臋n流中位置。

  • 元素1margin-right:-10px;元素2無margin-left:
元素1margin-right:-10px;元素2無margin-left

?圖中,看似元素1寬度減少(10px),實(shí)則不然,設(shè)置元素2的opacity:0.5:

元素2的opacity:0.5

?顯然,元素1寬度并未減小,而是元素2流入頁面時(shí),元素2的判定邊界(border+0px)與元素1的判定邊界(border-10px)相鄰,所以表現(xiàn)為元素2在流中向左移動(dòng)了10px,元素1并未變窄,只是有10px的領(lǐng)域變成了與元素2的共享領(lǐng)域。
?這成為了負(fù)邊距在布局中的一個(gè)應(yīng)用,即改變?cè)匚恢茫ㄗⅲ号cposition:relative不同,負(fù)邊距改變位置的元素不會(huì)再占據(jù)原來位置);

三、負(fù)邊距增加元素寬度

?除了改變?cè)匚恢弥猓?fù)邊距在布局中的另外一項(xiàng)應(yīng)用就是增加元素寬度。

  • 外層div固定寬度,內(nèi)層div不設(shè)定width、margin


    外層固定,內(nèi)層不設(shè)width、margin
  • 內(nèi)層div,margin:0 50px:
內(nèi)層margin:0 50px;

?此時(shí)內(nèi)層div左右各收縮50px,表現(xiàn)為元素縮小。

  • 內(nèi)層div,margin:0 -50px:


    內(nèi)層div,margin:0 -50px

    ?此時(shí),依然判斷邊界相鄰,內(nèi)層div的判定邊界(border-50px)與外層div的判斷邊界(border+0)相鄰,表現(xiàn)為內(nèi)層div變寬,且超出容器寬度。
    ?這是負(fù)邊距在布局中的第二種應(yīng)用,即使元素變寬。

  1. CSS布局奇淫巧計(jì)之-強(qiáng)大的負(fù)邊距
  1. 負(fù)值之美:負(fù)margin在頁面布局中的應(yīng)用
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • relative:生成相對(duì)定位的元素,通過top,bottom,left,right的位置相對(duì)于其正常位置進(jìn)行定位...
    zx9426閱讀 1,080評(píng)論 0 2
  • 一、在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并?如何合并?如何不讓相鄰元素外邊距合并?給個(gè)父子外邊距合并的范例 在CSS當(dāng)中,相...
    dengpan閱讀 695評(píng)論 0 0
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,168評(píng)論 1 92
  • 1.在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并?如何合并?如何不讓相鄰元素外邊距合并?給個(gè)父子外邊距合并的范例 概念:在CSS當(dāng)...
    饑人谷_任磊閱讀 852評(píng)論 0 3
  • 在培訓(xùn),結(jié)束,不想回家,找了一個(gè)地方坐下,像靜靜的想點(diǎn)東西,腦子卻又覺得不夠用,好像萬千無從開始。 腸胃不適,似乎...
    8bc80694e065閱讀 251評(píng)論 0 0

友情鏈接更多精彩內(nèi)容