2008-09-20 50 views
3

我正在使用YUI reset/base,重置後它將ul和li標籤設置爲list-style:disc outside;CSS list-style

我的標記看起來是這樣的:

<div id="nav"> 
    <ul class="links"> 
     <li><a href="">Testing</a></li> 
    </ul> 

</div> 

我的CSS是:

#nav {} 
#nav ul li { 
    list-style: none; 
} 

現在,讓小圓盤旁邊各立消失。

爲什麼不工作呢?

#nav {} 
#nav ul.links 
{ 
     list-style: none; 
} 

它工作,如果我刪除鏈接到base.css文件,爲什麼?

更新時間:sidenav - >導航

回答

9

我認爲丹接近他的回答,但是這不是問題的特異性。 您可以在列表(UL)上設置列表樣式,但也可以爲單個列表項(LI)覆蓋該列表樣式。

你告訴瀏覽器列表中不使用的子彈,但YUI告訴使用他們個人的列表項的瀏覽器(YUI勝):

ul li{ list-style: disc outside; } /* in YUI base.css */ 

#nav ul.links { 
    list-style: none; /* doesn't override styles for LIs, just the UL */ 
} 

你需要的是告訴瀏覽器不要在列表項上使用它們:

ul li{ list-style: disc outside; } /* in YUI base.css */ 

#nav ul.links li { 
    list-style: none; 
} 
+0

現在好了,這很有道理,謝謝。 – 2008-09-21 19:25:41

1

應該不會是:

#nav ul.links 
0

也許風格的base.css覆蓋你的風格 「重要!」?你有沒有嘗試爲這個特定的li添加一個類併爲它創建一個自己的風格?

2

在第一個片段中,您將列表樣式應用於li元素,第二個元素應用於ul元素。

嘗試

#nav ul.links li 
{ 
    list-style: none; 
} 
2

後者的例子可能不會因爲CSS specificity工作。 (。更嚴重的解釋可以發現here)也就是說,YUI的base.css規則是:

ul li{ list-style: disc outside; } 

這是比你更「具體」,因此正在使用的YUI的規則。由於已經注意到了幾次,就可以使您的規則更具體的針對li標籤:

#nav ul li{ list-style: none; } 

很難說肯定不看你的代碼,但如果你不知道特異性它一定是值得閱讀。

+0

沒有添加#nav ul li讓礦比一般ul li更具體? – 2008-09-20 15:59:46

0

使用這一個:

.nav ul li { 
    list-style: none; 
} 

.links li { 
    list-style: none; 
} 

它應該工作...