国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

最優的CSS浮動清除方案之一

2024-04-25 20:30:19
字體:
來源:轉載
供稿:網友

對于日新月異的WEB開發技術和瀏覽器更新頻率來說,清除浮動已然是一個被人嚼碎了的話題。說是這些年過去了,有關float的地方,還依然少不了清除浮動的標簽和css代碼。W3C整天研究html5,就不能抽出點時間來把這種煩人的小細節修正一下嗎?抱怨歸抱怨,飯還得吃,錢還得掙,清除浮動就不能停止。

為了清除浮動增加無語義代碼已經是最穩定和簡單的方式,但總叫開發者心里感到不舒服,畢竟這么多年來早已習慣了結構和樣式的分離,非要在結構中插入這樣一行無語義代碼就會讓人覺得有種難以掌握的感受。

通過css代碼清除浮動也不省油,光是當前這種多個瀏覽器瓜分瀏覽器份額的狀況所帶來的各種css hack就夠讓人頭疼的了,而且這還沒說到那些個瀏覽器的不同版本之間又有多少的差別。通過css清除浮動還是一個長期的過程,因為你還要期盼下一牌瀏覽器沒有針對浮動修改對html代碼的解釋。

要說在當前這種惡劣的狀況下,選取哪種方式去清除浮動最為可取,這事一個人說了不算,要看大家的意見。

很多時候,開發人員在前端開發時遇到問題,就會去找那些運用了類似技術的大型網站,去分析它們的解決方案,然后用到自己的網站上,連為什么都省得去想了。我也常常這么做。具體到清除浮動這個問題上,我現在所用的無語義標簽法就是在看到某大型網站用過之后,我才選用的。

不過今天重提這個問題,是因為我又在一個大型網站上看到了不同的方案。它們是這樣做的:


<style>

.clearfix:after{

visibility: hidden;

display: block;

font-size: 0;

content: ".";

clear: both;

height: 0;

}


* html .clearfix{zoom: 1;}

 

*:first-child + html .clearfix{zoom: 1;}

</style>

 

<div class="clearfix" style="border: 2px solid red;">

<div style="float: left; width: 80px; height: 80px; border: 1px solid blue;">

</div>

</div>

雖說這是來自大型網站,可信任度很高,可以不去思考而直接用,但學習的態度還是要有,就此分析一下其中的原理。

首先是利用:after偽類來兼容支持這一標準的瀏覽器們,FF、Chrome自然屬于強烈支持標準的瀏覽器行列,不過IE自從繁殖到第八代開始,也表示支持這一偽類。:after偽類用來和content屬性一起使用設置在對象后的內容。

因為現在IE6和IE7還很有勢力,所以,我們還得好好照顧它們。:after偽類IE不支持,它用來和content屬性一起使用設置在對象后的內容,例如:


.clearfix:after {content:".";}

這個CSS將會讓clearfix類標簽內的文本后邊加上英文句號。

"* html"這個選擇符只有IE6才能識別,因此在其中設置縮放屬性"zoom: 1;",便可實現兼容IE6;"*:first-child + html"這個選擇符只有IE7才能識別,因此設置縮放屬性"zoom: 1;" 便可實現兼容IE7。

原理分析完畢。方法是可行的,完美解決是不可能的。所以,W3標準中的浮動一天不變,清除浮動就會一天不止。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉寿县| 仪陇县| 吴堡县| 白沙| 兰州市| 潞西市| 泾川县| 墨脱县| 金昌市| 平利县| 云南省| 阿坝县| 将乐县| 舞阳县| 宣汉县| 云阳县| 衡东县| 靖西县| 奉化市| 嫩江县| 广平县| 尖扎县| 铅山县| 乐都县| 商河县| 绥宁县| 绵竹市| 台北市| 苍南县| 菏泽市| 潞西市| 西峡县| 邹平县| 阳新县| 安陆市| 维西| 济南市| 蕲春县| 郑州市| 翁牛特旗| 綦江县|