由于浮動(dòng)標(biāo)記不再占用原文檔流的位置,所以它會(huì)對(duì)頁(yè)面中其他標(biāo)記的排版產(chǎn)生影響。這時(shí),如果要避免浮動(dòng)對(duì)段落文本的影響,就需要在<p>標(biāo)記中清除浮動(dòng)。在CSS中,常用clear屬性清除浮動(dòng)。運(yùn)用clear屬性清除浮動(dòng)的基本語(yǔ)法格式如下:
選擇器{c1eax:屬性值;}
上述語(yǔ)法中,clear屬性的常用值有三個(gè)
clear:left——不允許左側(cè)有浮動(dòng)標(biāo)記(清除左側(cè)浮動(dòng)的的影響)
clear:right——不允許右側(cè)有浮動(dòng)標(biāo)記(清除右側(cè)浮動(dòng)的影響)
clear:both——同時(shí)清除左右兩側(cè)浮動(dòng)的影響
了解clear屬性的三個(gè)屬性值及其含義之后,接下來(lái)通過(guò)對(duì)電子案例11-1中的<p>標(biāo)記應(yīng)用cear屬性,來(lái)清除周?chē)?dòng)標(biāo)記對(duì)段落文本的影響。在<p>標(biāo)記的Css樣式中添加如下代碼:
clear:left; /* 清除左浮動(dòng) */
上面的CSS代碼用于清除左側(cè)浮動(dòng)對(duì)段落文本的影響。添加“clear:left;”樣式后,保存HTML文件,刷新頁(yè)面,清除段落文本左側(cè)的浮動(dòng)后,段落文本會(huì)獨(dú)占一行。需要注意的是,clear屬性只能清除標(biāo)記左右兩側(cè)浮動(dòng)的影響。然而在制作網(wǎng)頁(yè)時(shí),經(jīng)常會(huì)受到一些特殊的浮動(dòng)影響,例如,對(duì)子標(biāo)記設(shè)置浮動(dòng)時(shí),如果不對(duì)其父標(biāo)記定義高度,則子標(biāo)記的浮動(dòng)會(huì)對(duì)父標(biāo)記產(chǎn)生影響,那么究竟會(huì)產(chǎn)生什么影響呢?
我們知道子標(biāo)記和父標(biāo)記為嵌套關(guān)系,不存在左右位置,所以使用clear屬性并不能清除子標(biāo)記浮動(dòng)對(duì)父標(biāo)記的影響。那么對(duì)于這種情況該如何清除浮動(dòng)呢?為了使初學(xué)者在以后的工作中能夠輕松地清除一些特殊的浮動(dòng)影響,我們總結(jié)了常用的三種清除浮動(dòng)的方法,具體介紹如下:
1)使用空標(biāo)記清除浮動(dòng)
在浮動(dòng)標(biāo)記之后添加空標(biāo)記,并對(duì)該標(biāo)記應(yīng)用“clear: both”樣式,可清除標(biāo)記浮動(dòng)所產(chǎn)生的影響,這個(gè)空標(biāo)記可以是<dv>、<p>、<hr/>等任何標(biāo)記。
2)使用 overflow屬性清除浮動(dòng)
對(duì)標(biāo)記應(yīng)用 overflow:hidden”樣式,也可以清除浮動(dòng)對(duì)該標(biāo)記的影響。這種方式彌補(bǔ)了空標(biāo)記清除浮動(dòng)的不足。
需要注意的是,在使用“ overflow: hidden”樣式清除浮動(dòng)時(shí),一定要將該樣式寫(xiě)在被影響的標(biāo)記中。
3)使用after偽對(duì)象清除浮動(dòng)
使用 after偽對(duì)象也可以清除浮動(dòng),但是該方法只適用于IE8及以上版本瀏覽器和其他非IE瀏覽器。使用 after偽對(duì)象清除浮動(dòng)時(shí)需要注意以下兩點(diǎn)。
·必須為需要清除浮動(dòng)的標(biāo)記偽對(duì)象設(shè)置“height:0;”樣式,否則該標(biāo)記會(huì)比其實(shí)際
高度高出若干像素。
·必須在偽對(duì)象中設(shè)置 content屬性,屬性值可以為空,如“content:””;”。
以上我們介紹了css中清除浮動(dòng)的方法,如果想系統(tǒng)學(xué)習(xí)
web前端知識(shí),請(qǐng)點(diǎn)擊頁(yè)面咨詢(xún)按鈕了解詳細(xì)web前端課程信息。
推薦了解:
大數(shù)據(jù)培訓(xùn)