我正在尝试在此网站上的社交媒体按钮上获得类似的效果:http://www.goldsquare.co/about(女孩图片下方的图标)。现在,当我将鼠标悬停在父div上时,我的CSS的按钮将变为灰色,但是当我将鼠标悬停在其上时,各个按钮不会变成黑色。
HTML:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<div class="social-media-icons">
<a href="#" class="fa fa-facebook"></a>
<a href="#" class="fa fa-twitter"></a>
<a href="#" class="fa fa-instagram"></a>
</div>
CSS:
.fa {
padding: 10px;
font-size: 15px;
width: 20px;
text-align: center;
text-decoration: none;
border-radius: 50%;
background: black;
color: white;
}
.fa:hover {
transition: background 0.2 ease;
background: black;
}
.social-media-icons:hover a {
transition: background 0.2s ease;
background: #cccccc;
}
您可以在此jfiddle上看到它的运行情况:http://jsfiddle.net/brettfisher/fcn4d097/8/ 如何获得理想的效果?预先谢谢你。
答案 0 :(得分:2)
通过在!important
上添加 .fa:hover
。您可以达到预期的结果。
检查以下小提琴:
.fa {
padding: 10px;
font-size: 15px;
width: 20px;
text-align: center;
text-decoration: none;
border-radius: 50%;
background: black;
color: white;
}
.fa:hover {
transition: background 0.2 ease;
background: black !important;
}
.social-media-icons:hover a {
transition: background 0.2s ease;
background: #cccccc;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<div class="social-media-icons">
<a href="#" class="fa fa-facebook"></a>
<a href="#" class="fa fa-twitter"></a>
<a href="#" class="fa fa-instagram"></a>
</div>
详细了解!important
here
答案 1 :(得分:0)
赋予!important覆盖.social-media-icons:hover a
属性
.fa {
padding: 10px;
font-size: 15px;
width: 20px;
text-align: center;
text-decoration: none;
border-radius: 50%;
background: black;
color: white;
}
.fa:hover {
transition: background 0.2 ease!important;
background: black!important;
}
.social-media-icons:hover a {
transition: background 0.2s ease;
background: #cccccc;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<div class="social-media-icons">
<a href="#" class="fa fa-facebook"></a>
<a href="#" class="fa fa-twitter"></a>
<a href="#" class="fa fa-instagram"></a>
</div>
答案 2 :(得分:0)
尝试这个。
.fa {
padding: 10px;
font-size: 15px;
width: 20px;
text-align: center;
text-decoration: none;
border-radius: 50%;
background: black;
color: white;
}
.social-media-icons:hover .fa{
background: #cccccc;
}
.social-media-icons:hover .fa:hover{
background: black;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<div class="social-media-icons">
<a href="#" class="fa fa-facebook"></a>
<a href="#" class="fa fa-twitter"></a>
<a href="#" class="fa fa-instagram"></a>
</div>
答案 3 :(得分:0)
您需要具有正确的CSS specificity,以使特定的CSS覆盖另一种样式。 (请谨慎使用!important
)
此外,如果您想更精确地模仿,则需要将transition
移到:hover
样式之外。
.fa {
padding: 10px;
font-size: 15px;
width: 20px;
text-align: center;
text-decoration: none;
border-radius: 50%;
background: black;
color: white;
transition: background 0.2s ease;
}
.social-media-icons a.fa:hover {
background: black;
}
.social-media-icons:hover a {
background: #cccccc;
}