關(guān)于clearfix清除浮動(dòng).doc_第1頁
關(guān)于clearfix清除浮動(dòng).doc_第2頁
關(guān)于clearfix清除浮動(dòng).doc_第3頁
關(guān)于clearfix清除浮動(dòng).doc_第4頁
關(guān)于clearfix清除浮動(dòng).doc_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

起源:.clearfix:after visibility: hidden;display: block;font-size: 0;content: ;clear: both;height: 0;.clearfix display: inline-table; /* Hides from IE-mac */* html .clearfix height: 1%; .clearfix display: block; /* End hide from IE-mac */說明: *對大多數(shù)符合標(biāo)準(zhǔn)的瀏覽器應(yīng)用第一個(gè)聲明塊,目的是創(chuàng)建一個(gè)隱形的內(nèi)容為空的塊來為目標(biāo)元素清除浮動(dòng)。 *第二條為clearfix應(yīng)用 inline-table 顯示屬性,僅僅針對IE/Mac。*利用 * / 對 IE/Mac 隱藏一些規(guī)則: * height:1% 用來觸發(fā) IE6 下的haslayout。 *重新對 IE/Mac 外的IE應(yīng)用 block 顯示屬性。 *最后一行用于結(jié)束針對 IE/Mac 的hack。由于此方法針對的瀏覽器或成為歷史(尤其是Mac下的IE5 ),或正在靠近標(biāo)準(zhǔn)的路上,這個(gè)方法就不再那么與時(shí)俱進(jìn)了。拋掉對 IE/Mac 的支持之后,新的清除浮動(dòng)方法:/* new clearfix */.clearfix:after visibility: hidden;display: block;font-size: 0;content: ;clear: both;height: 0;* html .clearfix zoom: 1; /* IE6 */*:first-child+html .clearfix zoom: 1; /* IE7 */說明:IE6 和 IE7 都不支持 :after 這個(gè)偽類,因此需要后面兩條來觸發(fā)IE6/7的haslayout,以清除浮動(dòng)。幸運(yùn)的是IE8支持 :after 偽類。因此只需要針對IE6/7的hack了。糖伴西紅柿說:Jeff Starr 在這里針對IE6/7用了兩條語句來觸發(fā)haslayout。我在想作者為什么不直接用 * 來直接對 IE6/7 同時(shí)應(yīng)用 zoom:1 或者直接就寫成:.clearfix:after visibility: hidden;display: block;font-size: 0;content: ;clear: both;height: 0;.clearfix*zoom:1;以我目前的淺薄認(rèn)知來講,以上寫法應(yīng)該也可以直接達(dá)到同樣效果。關(guān)于這個(gè)地方,在文章的評論里也有些討論,我希望再聽聽大家的高見。我平時(shí)都是用 overflow:hidden 來清除浮動(dòng)的,因?yàn)閴蚝唵未直?。但?overflow 有時(shí)候也不太適用:父級元素使用 overflow:hidden 時(shí),如果其子元素定位到部分或全部在父元素之外,父元素就會(huì)對超出其外的子元素部分進(jìn)行裁剪。對 css3 來說,也會(huì) overflow:hidden 也會(huì)對一些屬性產(chǎn)生影響。例如 box-shadow, 當(dāng)父元素使用 overflow:hidden 屬性時(shí),box-shadow 會(huì)被裁剪。其他可能被影響的元素如 text-shadow 和 transform??梢詤⒖?Andy Ford 的demo對于那些不愿意再給標(biāo)簽添加額外的 clearfix 類來清除浮動(dòng)的人來說,直接將需要清除浮動(dòng)的元素添加進(jìn)清除浮動(dòng)代碼塊這個(gè)組也是一個(gè)辦法。.group:after,#content:after,#sidebar:after,#some .other .thing:aftervisibility: hidden;display: block;font-size: 0;content: ;clear: both;height: 0;zoom:1;這種情況下,html 和 css 文件就像一個(gè)蹺蹺板的兩頭。html 代碼倒是整潔了,css 代碼卻出現(xiàn)了一定的繁冗。而且一旦專題頁面過長,或者在項(xiàng)目中使用,用這個(gè)清除組的方式反而會(huì)不勝其擾。歸結(jié)下來,還是得看個(gè)人、項(xiàng)目的權(quán)衡選擇.雖然我一直用簡單粗暴的overflow:hidden,但是現(xiàn)在更傾向于使用 clearfix,感覺這種一體化的東西更靠譜,能避免偶爾對 zoom 的遺忘。成熟的東西穩(wěn)定性好,但是會(huì)比較復(fù)雜、厚重;簡單的靈活性好,但是過于零散、隨意,沒有組織性,還沒那么穩(wěn)定.權(quán)衡決定到底要使用那種方法,有時(shí)候反而比問題本身還讓人頭疼.我個(gè)人的想法是沒有好與壞的區(qū)別,只有合適不合適的區(qū)別。但是我們一直都受困于所受的教育,什么問題都有標(biāo)準(zhǔn)答案,非對即錯(cuò),非好即壞。經(jīng)??梢妼σ恍┕ぞ叩挠懻?,都是奔著爭出個(gè)誰好誰壞而去的,例如 jQuery mootools YUI.相比起到底是好誰壞,我們還是最好趕緊轉(zhuǎn)變思想,摒棄”一刀切”的思想吧。本文轉(zhuǎn)自:前端觀察以下代碼可以這么解釋:.clearfix:after -在類名為“clearfix”的元素內(nèi)最后面加入內(nèi)容;content: .; -內(nèi)容為“.”就是一個(gè)英文的句號而已。也可以不寫。display: block; -加入的這個(gè)元素轉(zhuǎn)換為塊級元素。clear: both; -清除左右兩邊浮動(dòng)。visibility: hidden; -可見度設(shè)為隱藏。注意它和display:none;是有區(qū)別的。visibility:hidden;仍然占據(jù)空間,只是看不到而已;line-height: 0; -行高為0;height: 0; -高度為0;font-size:0; -字體大小為0;.clearfix *zoom:1; -這是針對于IE6的,因?yàn)镮E6不支持:after偽類,這個(gè)神奇的zoom:1讓IE6的元素可以清除浮動(dòng)來包裹內(nèi)部元素。具體意思的話,不用深究,聽說微軟的工程師自己都無法解釋清楚。height:1%效果也是一樣。整段代碼就相當(dāng)于在浮動(dòng)元素后面跟了個(gè)寬高為0的空div,然后設(shè)定它c(diǎn)lear:both來達(dá)到清除浮動(dòng)的效果。之所以用它,是因?yàn)椋悴槐卦趆tml文件中寫入大量無意義的空標(biāo)簽,又能清除浮動(dòng)。話說回來,你這段代碼真是個(gè)累贅啊,這樣寫不利于維護(hù)。只要寫一個(gè).clearfix就行了,然后在需要清浮動(dòng)的元素中 添加clearfix類名就好了。如:你明白float:leftdiv1 設(shè)置了float:left, div2也設(shè)置

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論