2010-10-01 50 views
1

,如果我有以下幾點:CSS的錨標記上

<div class="linkSet"><a href="#" class="main_link">link one a</a><a href="#" class="sub_link">link one b</a></div> 

如何設置的CSS所以如果我將鼠標懸停在第一個,它改變了兩個錨標籤背景顏色?

回答

7
.main_link:hover, 
.main_link:hover + .sub_link { 
    background-color: red; 
} 

但是以下幾點:

<a> 
    <span class="main">...</span> 
    <span class="sub">...</span> 
</a> 

會給你:

  • 更好的結構(兩個環節去同一個地方是形式普遍較差,因爲有許多相互作用(Tab鍵,屏幕閱讀器等),在那裏他們被視爲單獨的鏈接,即使你的風格,他們不這樣)
  • 更好的支持(略舊版本的MSIE不支持+
  • 具有第一個鏈接改變顏色,當第二連桿徘徊(+僅適用於下一個,沒有以前)。

如果鏈接到不同的地方,那麼這是不是真的,但讓他們緊挨着對方,讓他們都有當一個人徘徊懸停效果真的是敵對的用戶,因爲它有力地表明,他們是這樣。

+1

Ooooh,很好!哪些瀏覽器可以/不可以使用? – 2010-10-01 15:46:39

+0

舊版本的IE。我**認爲**支持鄰居兄弟選擇器在IE7中添加,但我不會發誓。 – Quentin 2010-10-01 15:48:30

+0

我不能使用這種技術,因爲這意味着兩個鏈接最終指向同一個地方。在我的頁面上,每行有2個鏈接,1個鏈接是向數據庫添加內容,另一個鏈接是從數據庫中刪除某些內容,這兩個鏈接都與鏈接對所在的行相關。 – oshirowanen 2010-10-04 09:43:08

0
a.main_link:hover, a.sub_link:hover { 
    background-color: red; 
} 
+0

當然,這不起作用?當你單獨懸停在那一個上面時,它會將其中一個變成紅色。 – chigley 2010-10-01 15:47:54

+0

@chigley,很好的電話。我的錯。 – kafuchau 2010-10-01 15:48:54

1

如果你有

<a href="first.html">Link Part A</a> <a href="second.html">Part B</a> 

這個CSS將突出兩當「連接部提供的」懸停,只有當「B部分」懸停第二。

a:hover, a:hover + a { 
    background-color: #fff0f0; 
} 

基本相同,大衛的,但沒有使用類 - 有與舊IE支持相鄰兄弟選擇的相同的問題。