2016-11-25 74 views
0

我試圖將導航鏈接設置爲某種顏色,當我在該頁面上時。CSS後代選擇器:某些工作,而有些不工作

HTML:

<nav> 
    <ul> 
     <li><a href="index.html" class="selected">Portfolio</a></li> 
    </ul> 
    </nav> 

CSS:

nav a.selected { 
    color: #000; 
} 

上面的代碼工作。但是,如果我刪除了導航選擇器,並且只是使用了

a.selected { 
    color: #000; 
} 

那麼代碼不起作用。

如果我希望在任何地方有一個「選定」類具有#000的錨元素,該怎麼辦?

+1

是絕對沒有理由',除非你有一個較高的特異性選擇覆蓋它a.selected'將無法正常工作。如果沒有演示或完整的代碼,無法發表評論。 – Harry

+1

這適用於我只用你顯示的代碼。我認爲@哈里正處在正確的軌道上。 – varlogtim

+1

你的代碼工作: https://jsfiddle.net/024c9et7/ –

回答

0

這裏的問題似乎是你選擇的特異性

含義:

nav a.selected { 
    color: #000; 
} 

是不是準確的:

nav ul li a.selected { 
    color: #000; 
} 

持有比上述更重要的意義。

因此,爲了使您的a.selected工作,你需要去除掉它前面的nav,使其成爲一個全球調製器就像你應用到全局錨調製的顏色,或從應用更具體的選擇上述(第二塊):

a { 
    color: #6ab47b; 
} 
a.selected { 
    color: #000; 
} 

作爲一個學習者,我建議你嘗試並堅持Mozilla Developer Network (MDN)年鑑。