我遇到的问题是,我的hover
效果不会像color
更改那样对文字background-color
进行相同的更改。
有没有办法避免这种不同的过渡行为?
这是一个实例:
* {
-webkit-transition: all 2s linear;
-moz-transition: all 2s linear;
-o-transition: all 2s linear;
transition: all 2s linear;
}
.maps-btn {
margin: 10px;
padding: 10px;
background-color: #f0f0f0;
color: blue;
}
.maps-btn a {
font-size: 15px;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
text-decoration: none;
}
.maps-btn i {
font-size: 25px;
vertical-align: sub;
}
.maps-btn:hover,
.maps-btn:hover i,
.maps-btn:hover a {
background-color: blue;
color: #fff;
}

<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="maps-btn">
<a href="https://www.google.com/maps/dir/?api=1&destination=Frankfurt Main, Germany" target="_blank">
<i class="fa fa-map-marker" aria-hidden="true"></i>
Show on map
</a>
</div>
&#13;
答案 0 :(得分:2)
我在this fiddle开始工作了。有几个麻烦:
background-color
和a
元素的i
从透明转换为蓝色 - 您应该将它们保持透明。i
的颜色为inherit
,这会导致奇怪的行为,因为它的父母会同时转换颜色。更改:将color: blue;
添加到您的.maps-btn i
css,并将您的悬停css替换为:
.maps-btn:hover {
background-color: blue;
}
.maps-btn:hover a i,
.maps-btn:hover a {
color: #fff;
}