看了別人的問題,還是不明白加了overflow:hidden的效果
.left dl dd{
display:block;
overflow:hidden;}
不加的話,第二行的dd內(nèi)容會排列到dt底下
dt | dd dd dd dd
dd ?dd dd dd ?但是加了hidden就會變成這樣
dt | dd dd dd dd
? ? ? dd dd dd dd
所謂的清楚浮動就是把父元素的float清除掉,所以第二行的dd才會排列的那里嗎?
但是dt也沒有固定的高度。。為啥會這樣
2016-09-27
來的比較晚。希望對慕友有幫助。
我暫且將你的一群dd放到div里吧。
其實這里的overflow:hidden作用的確是清除浮動。說的再清楚一點就是:div計算高度時,將計算浮動元素的高——一群dd的高。
計算完畢后div作為一個塊級元素已經(jīng)有高有寬了,寬是直接等于父元素的內(nèi)容寬度,高則是內(nèi)容在里面排列超過寬度換行。
dt是浮動元素,div里的a也是浮動的,div就被傳送到了dt身邊。最重要的一點,div在構(gòu)建完畢后寬度是一定的,這導(dǎo)致了它的形狀就只能是向下伸展的矩形。這就導(dǎo)致了,你的第二行dd排列到了那里,總不可能塊狀盒子是多邊形吧。
應(yīng)該就是醬,自己的理解,有誤還望指正。
2016-04-16
溢出隱藏,主要就是防止dd里面的內(nèi)容溢出二造成顯示的錯亂