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

首頁 > 開發 > CSS > 正文

CSS的list-style解釋

2024-07-11 09:02:50
字體:
來源:轉載
供稿:網友

武林網(www.survivalescaperooms.com)文章簡介:css reset中的list-style:none.

原來工作中曾經碰到過UL列表里一些異常的表現,
加上昨天看到了 這個貼子,所以測試了一下list-style的各種屬性,發現了一個有意思的現象

先看一下CSS手冊中,對于list-style的解釋

定義和用法
list-style 簡寫屬性在一個聲明中設置所有的列表屬性。

       說明
       該屬性是一個簡寫屬性,涵蓋了所有其他列表樣式屬性。由于它應用到所有 display 為 list-item 的元素,所以在普通的 HTML 和 XHTML 中只能用于 li 元素,不過實際上它可以應用到任何元素,并由 list-item 元素繼承。
       可以按順序設置如下屬性:
       •list-style-type
       •list-style-position
       •list-style-image
       可以不設置其中的某個值,比如 "list-style:circle inside;" 也是允許的。未設置的屬性會使用其默認值。
       默認值: disc outside none

 

在日常工作中經常需要對ul,li進行css reset ,將列表符號隱藏.
最常用的寫法就是Ul,li,ol{list-style:none;}(也有人用ul,li,ol{list-style-type:none;})

運行代碼框

[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]

這個頁面在IE6,7,8,FF中都沒什么問題.

但是我們不能忽略的是,list-style: 包含了三個屬性:

list-style-type
list-style-position
list-style-img

如果不注意這三個屬性的話,list-style有時候就會出來搗蛋

比如當ul,浮動后,需要display:inline 來解決在IE6中的雙倍邊距問題時,奇怪的事情發生了:

運行代碼框

[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]

.ul01{float:left;display:inline;}
.ul01,.ul01 li{list-style:none;}

上面的頁面在ie8,ff中仍然正常
但是在IE6,7中,ul內側與li產生了距離.
由此可見,當我們定義了list-style:none以后,盡管列表符并不出現,但是在IE6,7中,仍然留有它的位置.
看看在FF里這個UL到底擁有哪些屬性

CSS的list-style解釋

圖上可見,當css中定義list-style:none時,對list-style-position 并沒有影響,仍然是FF瀏覽器的默認設置,值為outside
而IE6,7中很可能默認list-style-position:inside
為了證實這一點,我把list-style:none 換為list-style:none inside none再測試了一下

運行代碼框

[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]

運行后可以發現,在IE6,7中,與list-style:none的表現一模一樣.
所以我推測在IE6,7中當UL具有float:left和display:inline屬性后,設置了list-style:none,則list-style-position也默認為inside了;

所以我得出的總結是
在IE6,7下,當UL不具有float:left;display:inline;時:
無論有沒有list-style:none這個屬性,列表符都被隱藏,不占位置(下面代碼中的5,6)
當UL具有float:left;display:inline;屬性時
list-style:none,列表符被隱藏,但是仍然留有位置(list-style-position:inside);(下面代碼中的 UL1,ul3)
未設置list-style:none;列表符被隱藏,也不占位(list-style-position:outside)(代碼UL4)

而UL02 在參與測試的各瀏覽器中表現都比較理想

最后這一段代碼對比一下各種情況下list-style的表現,尤其注意4,5,6在IE6,7下的表現

運行代碼框

[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]

通過上面代碼表現結果的對比,我認為:
在firefox中只要list-style-type為none ,則無論list-stype-position的值為outside或inside , list-style都能很好的被隱藏
而在IE6,7中,僅設置list-style:none,并不足以解決所有問題
所以我認為在css reset的時候使用 list-style:none outside none 更好

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象州县| 禄丰县| 平和县| 嫩江县| 长丰县| 济南市| 贵定县| 广安市| 福州市| 白沙| 北辰区| 宜宾县| 社旗县| 施秉县| 天祝| 新昌县| 紫阳县| 喀什市| 若羌县| 和顺县| 麻栗坡县| 昭通市| 金秀| 揭阳市| 建始县| 绥阳县| 昌吉市| 方城县| 汉寿县| 观塘区| 胶南市| 浠水县| 沿河| 象山县| 松溪县| 溧水县| 利津县| 固镇县| 句容市| 阿鲁科尔沁旗| 西充县|