基本上我有一个白色但有紫色边框的按钮,文字是紫色的,当用户将鼠标悬停在图像上时,我希望背景颜色为紫色,文字为白色。现在,我可以将背景颜色从白色切换到紫色,但我无法将文本从紫色切换为白色。这是我目前的代码: HTML:
<a href="index.php?page=learnmore"><div class="learnMore"><h3>LEARN MORE</h3></div></a>
CSS:
.learnMore {
width:140px;
height:35px;
border:1px solid purple;
margin:0 auto;
}
.learnMore:hover {
background-color:purple;
color:white
}
我不知道为什么颜色:白色不会改变颜色。非常感谢任何帮助!
答案 0 :(得分:4)
看起来您在颜色后缺少分号:白色,您还可能需要考虑链接访问颜色的浏览器默认值等。这是一个有效的演示:codepen demo
.learnMore {
background-color: white;
width:140px;
height:35px;
border:1px solid purple;
margin:0 auto;
color: purple;
}
.learnMore:hover {
background-color:purple;
color:white;
}
答案 1 :(得分:2)
应该注意,h3
是块元素,a
是内联元素。在HTML5
之前,正确的结构方法是将a
包裹在h3
中,例如:
<h3><a href="#">Learn More</a></h3>
使用HTML5
,现在可以使用a
包装块元素。我会沿着这些方向做点什么:
<!-- CSS -->
<style>
a.learnMore {
text-decoration: none;
text-transform: uppercase;
color: purple;
}
a.learnMore h3 {
border: 1px solid purple;
padding: 10px;
text-align: center;
}
a.learnMore h3:hover {
background-color: purple;
color: white;
}
</style>
<!-- HTML -->
<a href="index.php?page=learnmore" class="learnMore"><h3>Learn More</h3></a>
a.learnMore {
text-decoration: none;
text-transform: uppercase;
color: purple;
}
a.learnMore h3 {
border: 1px solid purple;
padding: 10px;
text-align: center;
}
a.learnMore h3:hover {
background-color: purple;
color: white;
}
<a href="index.php?page=learnmore" class="learnMore"><h3>Learn More</h3></a>
答案 2 :(得分:0)
它无效,因为您将样式应用于整个DIV而不是文本本身。
将F.Promise
添加到id
<h3>
将此添加到您的css
<a href="index.php?page=learnmore"><div class="learnMore"><h3 id="t">LEARN MORE</h3></div></a>
然后只需编辑你的颜色和位置
答案 3 :(得分:0)
在你的情况下,你需要使用一个很棒的CSS功能,称为直接后代组合。 &#34;&GT;&#34;
会是这样的:
<div class="container" style="display: none;">
<div id="show_finyear" style="display: none;">2017-18</div>
</div>
来源:treehouse