我有一个侧面菜单,在<li>
标记内,我有一个图标和一个文本。
当鼠标悬停时,我希望图标变为白色。现在,只有文本变为白色。我看过其他帖子,但没有用。
没有悬停[正常状态]
悬停[悬停状态]
<li>
<a href="#">
<span class="icon-patient"></span>
</a>
<p>Paciente</p>
</li>
li p {
font-size: 0.8em;
}
li span {
font-size: 1.8em;
}
li span:hover {
color: #fff;
}
li a:hover {
text-decoration: none;
}
ul li:hover {
background-color: #5D9CF3;
cursor: pointer;
color: #fff;
transform: perspective(1px) translateZ(0);
transition-duration: 0.25s;
transition-property: background-color;
}
答案 0 :(得分:0)
尝试一下:
li:hover span {
color: #fff!important;
}
如果这不能帮助您的图标不是字体,那么
如果它不起作用并且它是一种字体,我们可以尝试以下解决方案:
li:hover a {
color: #fff!important;
}
li:hover a span{
color: inherit;
}
答案 1 :(得分:0)
我会尝试这样的事情:
li p {
font-size: 0.8em;
}
li span {
font-size: 1.8em;
}
li:hover {
background-color: #5D9CF3;
cursor: pointer;
color: #fff;
transform: perspective(1px) translateZ(0);
transition-duration: 0.25s;
transition-property: background-color;
}
li:hover a{
text-decoration: none;
}
li:hover span {
color: #fff;
}
我对发生的事情的直觉是,css解释器正在查看您的li a:hover标记,例如,“当li未被悬停,而是嵌套了一个is时”,这意味着li:hover不在显示。这些标签将鼠标悬停在li上。我想您甚至可以将鼠标悬停在两者上,所以li:hover a:hover,但是我自己还没有尝试过。
答案 2 :(得分:0)
我使用了您的代码,并使用提供的图像更改了CSS的一点点,只是为了实现悬停效果。
您可以检查这是否是您想要实现的吗?
https://codepen.io/alexandrecanijo/pen/jKzVwK
CSS就像:
.link p {
font-size: 0.8em;
margin-top: 20px;
}
.link span {
font-size: 1.8em;
}
.link {
display: block;
width: 80px;
height: 80px;
background: #fff;
text-align: center;
padding: 5px;
text-decoration: none;
}
.link:hover {
cursor: pointer;
background: #5D9CF3;
color: #fff;
transition-duration: 0.25s;
transition-property: background-color;
}
.icon-patient {
margin: 0 auto;
width: 20px;
height: 20px;
display: block;
}
.icon-patient:before {
font-family: "Font Awesome 5 Free";
content: "\f007";
}
.link:hover .icon-patient:before {
color: #fff;
}
答案 3 :(得分:0)
您可以尝试一下。它对我有用:
li a span:hover{
color: #fff;
}