您好我有这样的代码:当悬停在a
标签上时,转换有效,但文本消失了。我该如何解决这个问题?
<header>
<ul class="menu">
<li><a href="#">main</a></li>
<li><a href="#">about us</a></li>
<li><a href="#">brands</a></li>
<li><a href="#">gallery</a></li>
<li><a href="#">contact</a></li>
</ul>
</header>
<style type="text/css">
header ul li a {
text-decoration: none;
color: #333946;
font-size: 20px;
padding: 20px;
-webkit-transition: background-color 0.5s; /* For Safari 3.1 to 6.0 */
transition: background-color 0.5s;
}
a:hover {
background-color: #333946;
opacity: 0.5;
border-radius: 3px;
}
</style>
答案 0 :(得分:4)
您在链接上设置color: #333946
(header ul li a
),因此当您使用background-color: #333946
为背景颜色设置动画时,文字会淡入背景,因为它们最终会显示相同的颜色。在color: (something else)
下面添加background-color
。
答案 1 :(得分:2)
你需要color
这样:)
a:hover{
background-color:#333946;
opacity:0.5;
border-radius:3px;
color:white;
}
答案 2 :(得分:2)
不透明度适用于整个元素
中的文本像这样更改您的代码
<header>
<ul class="menu">
<li><a href="#">main</a></li>
<li><a href="#">about us</a></li>
<li><a href="#">brands</a></li>
<li><a href="#">galery</a></li>
<li><a href="#">contact</a></li>
</ul>
</header>
header ul li a{
text-decoration:none;
color:#333946;
font-size: 20px;
padding: 20px;
-webkit-transition: background-color 0.5s; /* For Safari 3.1 to 6.0 */
transition: background-color 0.5s;
}
a:hover{
background-color:rgba(51,57,70,0.5);
border-radius:3px;
}
background-color:rgba(51,57,70,0.5);
是您需要的解决方案