垂直外邊距合并
三種情況
1.上下兩個(gè)元素的margin-bottom、margin-top加法運(yùn)算后合并在一起,作為最終間隔的距離。它們共享外邊距,也就是你看到他們的外邊距都是同一塊地方
2.父元素同時(shí)沒(méi)有padding-top和border-top纱耻,其margin-top和子元素margin-top合并在一起。效果為子元素與父元素沒(méi)有拉開(kāi)距離险耀,而是使其父元素頂開(kāi)它(父元素)的相鄰元素弄喘。這里不是共享外邊距,父元素只是單純的連帶著去頂開(kāi)其他元素甩牺。
3.空元素(height=0)蘑志,上下邊距合并。注意仍然可能合并后再次和垂直方向的其他外邊距合并贬派。
邊距參照
問(wèn)題:當(dāng)父元素內(nèi)多個(gè)子元素margin急但、width、height的值是百分比時(shí)搞乏,父元素大小最終是多少波桩?會(huì)不會(huì)存在死循環(huán)?
當(dāng)margin-top请敦、padding-top的值是百分比時(shí)镐躲,分別是如何計(jì)算的储玫?
- 參照父元素寬度的元素:padding margin width text-indent
- 參照父元素高度的元素:height
- 參照父元素屬性:font-size line-height
- 特殊:相對(duì)定位的時(shí)候,top(bottom) left(right)參照的是父元素的內(nèi)容區(qū)域的高度與寬度萤皂,而絕對(duì)定位的時(shí)候參照的是最近的定位元素包含padding的高度與寬度
邊距沒(méi)有死循環(huán)撒穷,邊距取父親寬度的百分比。
高度方面敌蚜,如果沒(méi)有為父元素設(shè)置height桥滨,則子元素的百分比高度無(wú)效窝爪,子元素高度根據(jù)內(nèi)部元素計(jì)算出固定高度弛车。父元素計(jì)算高度時(shí)沒(méi)有形成死循環(huán)。
寬度方面蒲每,假如父元素是塊級(jí)元素纷跛,其有默認(rèn)寬度(占據(jù)所在行的全部寬度),所以即使沒(méi)有顯式設(shè)置父元素width邀杏,子元素的百分比仍然有效贫奠。
邊距為負(fù)數(shù)
如div,父元素的高度實(shí)際就是把所有子元素的margin+border+padding+height+scroll(滾動(dòng)條)進(jìn)行加法運(yùn)算望蜡。如果邊距為負(fù)數(shù)且值太大唤崭,計(jì)算后會(huì)得到負(fù)數(shù),此時(shí)父元素高度將為0脖律。