2010-09-04 235 views
6

也許這個問題的標題是模棱兩可的,我真正的意思是:縮短逗號分隔CSS選擇器

#footer_list li a:link, #footer_list li a:visited 
{ 
    blah balh blah 
} 

是否有在CSS的兩個元素的捷徑嗎?所以CSS選擇器可以縮短

回答

4

當然。如果你給他們各自的班級/編號名稱。但那是不必要的。你的代碼是完全可以接受的,因爲CSS 級聯樣式表,規則基本上是級聯的。

+1

當我鍵入/粘貼的東西「redun dant「我一直認爲我必須以錯誤的方式來做:( – 2010-09-04 05:40:40

+0

)不僅類是不必要的,但它們不工作,因爲它們不能替代僞類。 (雖然我只是對你的答案進行了友好的擴展。) – BoltClock 2010-09-04 05:40:46

+2

@Michael Mao:提問是一個很好的特質。但是,不要自動承擔錯誤的方式。如果它有效,那就使用它。 *這應該採取一粒鹽* – 2010-09-04 05:43:29

1

您的代碼沒問題。我一直在用類似這樣的選擇器來設計我的網站,它並沒有打擾我或瀏覽器。

如果你的服務器運行Ruby和你不介意拿起一個服務器端的「擴展」到標準的CSS語法,LESS提供嵌套的規則,所以你可以做這樣的事情:

#footer_list li { 
    a:link { 
     /* Styles for normal links */ 
    } 
    a:visited { 
     /* Styles for visited links */ 
    } 
} 

OK,我不知道這會做出什麼區別,但我敢肯定它會通過不同的瀏覽器進行處理:

#footer_list li a { 
    /* Styles */ 
} 

然後,您可以放置​​其他a類選擇器或a:hovera:active以下,他們將適用時工作。

+0

哇!這是我不知道的......我會檢查這與我的託管服務器,看看我能否做到這一點:) – 2010-09-04 05:42:29

+1

@邁克爾毛還有http://sass-lang.com/ – 2010-09-04 05:44:28

+0

@邁克爾毛:我再次更新了我的答案。看看最後(不需要)選擇器是否適合你。 – BoltClock 2010-09-04 05:44:32

0

您是否在#footer_list內有不在li內的鏈接?你的頁腳中是否有其他列表?

我想象你有你的標記是這樣的:

<div id="footer"> 
    <p>&copy; me 2010</p> 
    <ul id="footer_list"> 
     <li><a href="/home">Home</a></li> 
     <li><a href="/contact">Contact</a></li> 
     <li>.... 
    </ul> 
    <p>Some other text...</p> 
</div> 

在這種情況下,你的規則只需要:

#footer a:link, #footer a:visited 

如果你這樣做(或可能更高)有外鏈ul你想以不同的風格你可以做:

#footer_list a:link, #footer_list a:visited