一、理解clear: left/clear: right
當(dāng)想到clear: left的時(shí)候,自然會認(rèn)為是“清除左浮動”,clear: right是清除右浮動。
其實(shí)現(xiàn)在想想,這樣的理解與表示是不嚴(yán)謹(jǐn)?shù)那房紤]的。
一般,現(xiàn)在中文圈流傳的表述是:
clear語法:
clear : none | left | right | both
取值:
none : 默認(rèn)值。允許兩邊都可以有浮動對象
left : 不允許左邊有浮動對象
right : 不允許右邊有浮動對象
both : 不允許有浮動對象
w3.org官方的解釋是:「元素盒子的邊不能和前面的浮動元素相鄰」。
我個(gè)人覺得官方解釋更好一點(diǎn)。
無論是我“清除左/右浮動”,還是業(yè)界流傳的“不允許左/右邊有浮動對象”,其意思都是,設(shè)置的clear的元素讓浮動元素如何如何。也就是我讓別人如何如何~~大家可以仔細(xì)體會,細(xì)細(xì)感受下……
而官方的說法則是“設(shè)置了clear的元素不能怎樣怎樣”。也就是我自己如何如何~~大家可以再次感受下……
為何官方解釋更好呢?難道是“己所不欲勿施于人”的緣故?哈,這個(gè)解釋贊的,方便記憶。更通俗的原因是:
務(wù)必記住這句話:“float是魔鬼,會影響其他相鄰元素;但是clear是小白,其只會影響自身,不會對其他相鄰元素造成影響!”
但是,官方的解釋似乎拗口,缺少點(diǎn)靈性。于是,我根據(jù)自己的感性認(rèn)知,做了如下理解:
clear語法:
clear : none | left | right | both
取值:
none : 默認(rèn)值。
left : 左側(cè)抗浮動
right : 右側(cè)抗浮動
both : 兩側(cè)抗浮動
“抗”這個(gè)擬人化的動詞的發(fā)起者是設(shè)置了clear屬性的元素,既形象又釋義準(zhǔn)確。
實(shí)例出真知
您可以狠狠地點(diǎn)擊這里:clear:left/right的作用效果demo
例如上圖所示的clear:left作用示意:圖片左浮動,化身魔鬼,要影響后面相鄰的元素。一般的元素都逃不了被影響被束縛的命運(yùn)。除非擁有clear技能。例如,這里clear:left左側(cè)抗浮動,也就是,左側(cè)的浮動根本就奈何不了我——我還是原原本本在下面顯示。
但是,如果圖片是右浮動,則clear:left仍逃不過淪陷的命運(yùn),可以看到父級容器的高度塌陷了!
單純的clear:left就像是招潮蟹,一側(cè)雄起,一側(cè)不舉。
因此,考慮到通用性,在抗浮動的處理中,我們都是使用clear:both. 用意很明顯:我不必關(guān)心你是左浮動還是右浮動,我都通通免疫。
新聞熱點(diǎn)
疑難解答
圖片精選