2012-07-09 110 views
2
nav ul { 
} 

nav ul li { 
    margin-left: 7px; 
} 

nav.ul li a, a:link, a:visited { 
    float: left; 
    padding: 7px; 
    margin-left: 15px; 
    color: #ffffff; 
    text-decoration: none; 
    font-weight: bold; 
} 

nav ul li a:hover { 
} 

內我只希望上面的代碼樣式中的<nav></nav>只適用的CSS到一個元素

元素然而現在它以及樣式的導航元素外<a href="">。我怎樣才能確保它做我想要的?

+1

這個:'nav.ul li a,a:link,a:visited'不會繼承。應該是:'nav.ul li a,nav.ul li a:link,nav.ul li a:visited'。 ok了 – 2012-07-09 01:31:09

+1

,而不是增加這所有的答案我只是把它放在這裏: 有一段導航和UL之間(這是nav.ul而不是資產淨值UL的),這樣也應該被刪除,否則它是()。當前面的代碼示例將它們作爲單獨的元素時,查找

+0

@nbsp - 你是對的,''(空格)選擇器是正確的,'.'(或者子類)是錯誤的,並且在大多數答案中都是犯了錯誤。 – 2012-07-09 01:37:22

回答

5

因爲你有他們的規則,只會一個nav元素內適用,除非這樣的:

nav.ul li a, a:link, a:visited { 

本規則適用於a:linka:visited。你想這樣的:

nav.ul li a, nav.ul li a:link, nav.ul li a:visited { 
+0

我錯過了,但'nav.ul'是錯誤的。 – 2012-07-09 01:38:26

0

確保所有選擇器前面都有nav ul li

nav ul li a, nav ul li a:link, nav ul li a:visited { 
    float: left; 
    padding: 7px; 
    margin-left: 15px; 
    color: #ffffff; 
    text-decoration: none; 
    font-weight: bold; 
} 
1

更改您的規則:

nav.ul li a, a:link, a:visited 

到:

nav.ul li a, nav.ul li a:link, nav.ul li a:visited 

由於省略了逗號分隔的nav.ul裏的一部分,你有效地應用到以鏈接的外nav.ul李。

1

你的代碼是一個目標:link和a:訪問,而無需使用派生選擇。使用以下應該解決您的問題:

nav ul li a, nav ul li a:link, nav ul li a:visited { 
    float: left; 
    padding: 7px; 
    margin-left: 15px; 
    color: #ffffff; 
    text-decoration: none; 
    font-weight: bold; 
} 
+0

有NAV和UL之間的句號(。)(它是nav.ul代替NAV UL),使得也應該被刪除,否則它在尋找一個時前面的代碼樣品具有那些作爲單獨元素。 – nbsp 2012-07-09 01:34:24

+0

@nbsp - 好的。 – 2012-07-09 01:35:29

+1

啊對了。剛編輯答案。謝謝! – mmontaruli 2012-07-09 01:37:57

3

這是因爲這條線是不正確的:

nav.ul li a, a:link, a:visited { 

它應該是:

nav ul li a, nav ul li a:link, nav ul li a:visited { 

逗號後(,)的CSS的應用到所有a標籤,因爲沒有指定前面的選擇器。在第一部分的nav ul中也有一段(。)。

+0

希望你能得到更多的讚揚。 ':)' – 2012-07-09 01:42:34

相關問題