譯:可以用什么方法清除浮動?

2022-05-02    分類: 網(wǎng)站建設(shè)

根據(jù)正在生產(chǎn)中的設(shè)計,以下每個 clearfix CSS 解決方案都有自己的優(yōu)勢。

“Reloaded" clearfix

CSS Mojo 的 Thierry Koblentz' 寫了另一篇文章來重新審視清除浮動,強有力地證明了使用 display: block 不會禁用外邊距重疊,這比使用 display: table 更有優(yōu)勢。

最新的 micro-clearfix 代碼:

.container::after {

content: ""; /* If you do not care for “old” Opera */

display: block;

clear: both;

}

(譯注:如果要支持老 Opera 瀏覽器,應使用 content: " ")

“Best That ClearFix",一個為現(xiàn)代瀏覽器而生的 clearfix

CSS Mojo 的 Thierry Koblentz' 指出當編碼目標為現(xiàn)代瀏覽器時,我們可以放心的移除 zoom 和 ::before 屬性/值轉(zhuǎn)而簡單地使用:

.container::after {

content: "";

display: table;

clear: both;

}

這種方式不支持 IE6/7

Thierry 指出:“謹慎提醒:如果你要從頭開始一個新項目,去吧!但是不要切換你現(xiàn)在使用的技術(shù),因為即便你現(xiàn)在不打算支持老 IE 瀏覽器,你現(xiàn)在的規(guī)則仍能防止外邊距重疊。”

Micro Clearfix

最新的全球都采用的 clearfix 解決方案,Micro Clearfix by Nicolas Gallagher.

.container::before, .container::after {

content: "";

display: table;

}

.container::after {

clear: both;

}

.container {

zoom: 1; /* For IE 6/7 (trigger hasLayout) */

}

溢出屬性

當定位內(nèi)容不會超出容器的邊距時,通常情況下該方法是優(yōu)先選擇的。

http://www.quirksmode.org/css/clearing.html - 闡述如何解決與此技術(shù)有關(guān)的常見問題,即,在容器上設(shè)置 width: 100%.

.container {

overflow: hidden;

display: inline-block; /* Necessary to trigger "hasLayout" in IE */

display: block; /* Sets element back to block */

}

除了使用 display 屬性來為 IE 觸發(fā) "hasLayout",其它屬性也可以在元素上觸發(fā) IE 的 "hasLayout".

.container {

overflow: hidden; /* Clearfix! */

zoom: 1; /* Triggering "hasLayout" in IE */

display: block; /* Element must be a block to wrap around contents. Unnecessary if only using block-level elements. */

}

另一種使用 overflow 屬性清除浮動的方式是用 underscore hack. IE 將會應用前置下劃線屬性的值,其它瀏覽器不會。zoom 屬性將會在 IE 中觸發(fā) hasLayout:

.container {

overflow: hidden;

_overflow: visible; /* for IE */

_zoom: 1; /* for IE */

}

雖然可以工作,但使用 hack 并非理想的選擇。

"::after" 偽元素

這種老的“簡明清除”方法有允許定位元素懸掛在容器之外的優(yōu)點,但是以付出更多棘手的 CSS 為代價的。

http://www.positioniseverything.net/easyclearing.html

.container {

display: inline-block;

}

.container::after {

content: "";

display: block;

height: 0;

clear: both;

overflow: hidden;

visibility: hidden;

}

.container {

display: block;

}

除非你需要支持 IE 8,你應該總是對 before 和 after 使用雙冒號 ::. 雙冒號是偽元素的標準實現(xiàn),并且不再建議使用單冒號。未來可能放棄對單冒號的支持。

對元素使用"clear"屬性

簡明扼要的方法:

 <br />

很多原因證明使用清除標簽并不理想:

主要原因:你將樣式帶入到了標記中。這意味著如果你不想使用相同標記的文檔,重用標記將會變得更加困難。應該使用 CSS 在不同的上下文中對相同的標記進行格式化。

不能為你的標簽添加任何語義信息。

使你的代碼看起來不專業(yè)

在未來你想使用其他的 clearfix 解決方案時,你將不得不回過頭來刪除所有的 <br> 標簽。

當前文章:譯:可以用什么方法清除浮動?
分享網(wǎng)址:http://m.kartarina.com/news31/148781.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站靜態(tài)網(wǎng)站全網(wǎng)營銷推廣定制網(wǎng)站手機網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
主站蜘蛛池模板: 亚洲国产精品无码久久九九 | 国产aⅴ激情无码久久| 伊人久久一区二区三区无码| 最新无码人妻在线不卡| 日韩人妻无码一区二区三区久久99| 亚洲中文字幕无码爆乳AV| 日韩成人无码一区二区三区| 久久精品成人无码观看56| 亚洲Aⅴ在线无码播放毛片一线天| 成人av片无码免费天天看| 无码精油按摩潮喷在播放| 无码乱人伦一区二区亚洲一| 亚洲人成无码久久电影网站| 亚洲精品无码高潮喷水A片软| 亚洲成A人片在线观看无码不卡| 色综合热无码热国产| 精品国精品无码自拍自在线| 永久免费av无码入口国语片| 西西4444www大胆无码| 熟妇无码乱子成人精品| 中文字幕人妻无码专区| 人妻无码精品久久亚瑟影视| 亚洲成a人片在线观看天堂无码| 亚洲av日韩av无码| 国产精品无码无卡在线播放| 亚洲无码精品浪潮| 伊人蕉久中文字幕无码专区| 成人无码Av片在线观看| 久久久久久久久免费看无码| 伊人久久精品无码麻豆一区| 久久久久亚洲AV无码永不| 色综合久久无码五十路人妻| 无码人妻久久一区二区三区| 久久久国产精品无码免费专区| 国产乱子伦精品无码码专区| 亚洲成AV人在线播放无码| 色情无码WWW视频无码区小黄鸭| 亚洲va中文字幕无码久久 | 中文字幕韩国三级理论无码 | 免费无码AV一区二区| 无码任你躁久久久久久|