2017-02-28 133 views
0

將鼠標懸停在其父元素li上,我嘗試將標記的a標記的顏色從紅色更改爲黑色。在父元素的懸停上更改標記子元素的顏色

.header { 
 
    background-color: black; 
 
    height: 30px; 
 
    padding: 15px; 
 
    font-size: 20px; 
 
} 
 

 
.header_links { 
 
    list-style-type: none; 
 
    margin-top: 0px; 
 
} 
 

 
.header_links li a { 
 
    color: red; 
 
    text-decoration: none; 
 
} 
 

 
.header_links li * { 
 
    display: inline-flex; 
 
} 
 

 
.header_links li { 
 
    display: inline-flex; 
 
    border: 1px solid white; 
 
    color: white; 
 
    background-color: black; 
 
    padding-left: 10px; 
 
    padding-right: 10px; 
 
    padding-top: 2px; 
 
    padding-bottom: 2px; 
 
} 
 

 
.header_links li:hover { 
 
    cursor: pointer; 
 
    background-color: white; 
 
    color: black; 
 
} 
 

 
.header_links li i { 
 
    padding-top: 1px; 
 
    padding-right: 4px; 
 
}
<div class="header"> 
 
    <ul class="header_links"> 
 
    <li> 
 
     <a href="{{ url('/start') }}"> 
 
     <i class="fa fa-compass" aria-hidden="true"></i> 
 
     <div>Menue</div> 
 
     </a> 
 
    </li> 
 
    <li> 
 
     <a href="{{ url('/start') }}"> 
 
     <i class="fa fa-compass" aria-hidden="true"></i> 
 
     <div>Test</div> 
 
     </a> 
 
    </li> 
 
    </ul> 
 
</div>

我想它是這樣的:

.header_links li:hover { 
    cursor: pointer; 
    background-color: white; 
    color: black; 
} 

但是這不會影響標籤的顏色都沒有。

我也試圖利用重要:

.header_links li:hover { 
    cursor: pointer; 
    background-color: white; 
    color: black !important; 
} 

但是,這也不行。

回答

2

添加一個新的選擇.header_links li:hover a

.header { 
 
    background-color: black; 
 
    height: 30px; 
 
    padding: 15px; 
 
    font-size: 20px; 
 
} 
 

 
.header_links { 
 
    list-style-type: none; 
 
    margin-top: 0px; 
 
} 
 

 
.header_links li a { 
 
    color: red; 
 
    text-decoration: none; 
 
} 
 

 
.header_links li * { 
 
    display: inline-flex; 
 
} 
 

 
.header_links li { 
 
    display: inline-flex; 
 
    border: 1px solid white; 
 
    color: white; 
 
    background-color: black; 
 
    padding-left: 10px; 
 
    padding-right: 10px; 
 
    padding-top: 2px; 
 
    padding-bottom: 2px; 
 
} 
 

 
.header_links li:hover { 
 
    cursor: pointer; 
 
    background-color: white; 
 
} 
 

 
.header_links li:hover a { 
 
    color: black; 
 
} 
 

 
.header_links li i { 
 
    padding-top: 1px; 
 
    padding-right: 4px; 
 
}
<div class="header"> 
 
    <ul class="header_links"> 
 
    <li> 
 
     <a href="{{ url('/start') }}"> 
 
     <i class="fa fa-compass" aria-hidden="true"></i> 
 
     <div>Menue</div> 
 
     </a> 
 
    </li> 
 
    <li> 
 
     <a href="{{ url('/start') }}"> 
 
     <i class="fa fa-compass" aria-hidden="true"></i> 
 
     <div>Test</div> 
 
     </a> 
 
    </li> 
 
    </ul> 
 
</div>

0

如果你想改變它,你需要定位A標籤。 因此改變

.header_links li:hover { 
color: black; 
} 

.header_links li a:hover { 
color: black; 
} 

,如果你不希望懸停添加到一個標籤,你也可以做到這一點

.header_links li:hover a{ 
    color: black; 
} 
+0

但我希望整個按鈕背景變白,不僅是鏈接部分。 「李」雖然應該得到一個白色的背景色,文本應該是黑色的。 – Black

+1

我更新了我的代碼,你也可以在你的li之後添加一個:hover。 (但在將來,只給你的鏈接元素填充是明智的,因爲你希望整個區域都是可點擊的,不僅是單詞。如果你這樣做,第一個解決方案更好 – Christophvh

+0

嗯,這是真的,但我不能總結我的'li'成'了'標籤,不是它 編輯:好吧剛剛試了一下,就可以換一個'li'有這樣的標籤:'

  • ' – Black

    相關問題