将 CSS 直接插入 HTML 时,悬停伪类不起作用?

Posted

技术标签:

【中文标题】将 CSS 直接插入 HTML 时,悬停伪类不起作用?【英文标题】:Hover pseudo-class not working when inserting CSS directly into HTML? 【发布时间】:2014-06-22 09:37:45 【问题描述】:

由于某种原因,我无法让这个 div 的悬停状态适用于我在 Wordpress 页面中创建的按钮:

<div class="signupbutton" style="font-size: 28px; background-color: #5aaf20; color: white; text-align: center; font-family: 'Oswald', Arial, Helvetica; padding: 25px 50px; box-shadow: 1px 1px 5px #b7b9b5; margin: 0% 30%;">SIGN-UP</div>

<style> 
div.signupbutton:hover background-color: #80f133;
</style>

如果我替换悬停的属性(即到边框),它可以正常工作。什么给了?

【问题讨论】:

【参考方案1】:

这是因为内联样式会覆盖您的 :hover 样式。你可以阅读the spec了解更多关于选择器的特殊性。

更好的separate presentation from content 并在样式表中放置内联样式:

div.signupbutton 
    font-size: 28px;
    background-color: #5aaf20;
    color: white;
    text-align: center;
    font-family: 'Oswald', Arial, Helvetica;
    padding: 25px 50px;
    box-shadow: 1px 1px 5px #b7b9b5;
    margin: 0% 30%;

div.signupbutton:hover 
    background-color: #80f133;

【讨论】:

我开始添加答案,但 Oriol 的表现比我的要好得多,所以我改为 +1 了他的答案。 我是这么认为的。使用 Wordpress 页面最简单的方法是什么? @naturligt 不确定,因为我没有 Wordpress。但只需在您使用 :hover 规则的地方添加代码即可。【参考方案2】:

下面的例子可行,但@Oriol 的做法更好。

div.signupbutton:hover background-color: #80f133 !important;

【讨论】:

@naturligt 在您的情况下,您可以使用“!important”,但如果您有一个大型应用程序,您可以使用其他方式...变得更有条理。

以上是关于将 CSS 直接插入 HTML 时,悬停伪类不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

css鼠标悬停伪类

用于离开悬停的 CSS 伪类

在网页制作中,怎么把图片应用为动态HTML效果?当鼠标悬停时图片1换成图片2,要怎么设置?

找出一个元素是不是定义了 CSS“悬停”伪类? [复制]

css伪类和伪元素

CSS :hover伪类选择器