2017-02-28 138 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

    相关问题