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

首頁 > 開發 > CSS > 正文

css float浮動屬性的深入研究及詳解拓展(二)

2024-07-11 08:29:10
字體:
來源:轉載
供稿:網友

接上回…css float浮動屬性的深入研究及詳解拓展(一)

五、浮動的非本職工作

浮動的本職工作是讓匿名inline boxes性質的文字環繞圖片顯示,而其他所有用浮動實現的效果都不是浮動應該做的事情,我稱之為“非本職工作”。

或許我們并沒有過多的深思,把一些實際上不是浮動該干的事情當作“這必須用浮動來實現”。舉個常見的例子,列表顯示,見下面的圖,截自淘寶新版首頁:
淘寶熱賣單品截圖 >> 張鑫旭-鑫空間-鑫生活
我不看代碼就知道是用浮動實現的,我用firebug一看,果然是,不僅浮動,而且定寬。ps:要是在幾個月以前,我會覺得這實在有待改進,不過現在我的心態寬了,布局思想不同而已,沒有孰對孰錯之分。
代碼截圖

我可以確信,浮動這個屬性誕生的那天壓根沒有想到自己會要做這樣的事情,本來它以為自己就讓文字環繞顯示就OK了,功德圓滿了,結果,在web2.0的時代,其卻在頁面布局中被濫用。可能有人會反駁,你何處此言,有何證據?

我們只要靜下心來好好想想浮動的本質,實現的原理,就可以知道為什么浮動本不應該用來對頁面進行布局。還記得上一部分所說的浮動的本質嗎?即“包裹與破壞”。我們可以用這個(“包裹與破壞”)解釋為什么浮動可以讓li這類block水平的元素水平排列。

單個無浮動的li元素

看下面的HTML代碼:

復制代碼
代碼如下:
<ul style="width:440px;">
<li style="border:4px solid #ff6633; background:#ffffc0;"><img src="../image/border.png" /></li>
</ul>

結果如下圖(截自Firefox瀏覽器,無其他樣式干擾,下同):
來自張鑫旭-鑫空間-鑫生活 單個無浮動li元素

這里的li元素為什么會有高度?如果您認真讀過前半部分內容關于line boxes模型與高度的關系的內容,應該知道,由于圖片沒有應用float屬性,其本身有一個正常的inline box,這個inline box高度等于圖片的height,在這行元素中,圖片這個inline box的高度最高,于是傳遞給了line box,line box是個真正意義上的高度,直接作用于containing box(就是這里的li元素,使li元素有一個高度)。理解了這個您就會明白為什么要是這里的圖片添加了float屬性,li高度會塌陷了:浮動破壞了inline box。這個后面會詳細講解。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和田县| 武平县| 京山县| 高雄市| 旬邑县| 从化市| 淳化县| 茶陵县| 太仆寺旗| 武义县| 巩义市| 海南省| 于都县| 九龙县| 沅江市| 富锦市| 石门县| 敖汉旗| 铁力市| 唐河县| 朝阳区| 石门县| 龙江县| 滨州市| 麻栗坡县| 宁武县| 孙吴县| 夏邑县| 乐安县| 宁安市| 金乡县| 九寨沟县| 滕州市| 石城县| 新乡市| 太湖县| 荣昌县| 灵寿县| 栾川县| 平遥县| 闵行区|