乐闻世界logo
搜索文章和话题

如何在内联 css 中使用 hover 操作?

2个答案

1
2

在内联CSS中,由于直接作用于HTML元素的 "style" 属性中无法包含伪类选择器,我们不能直接在标签的 "style" 属性内设置 "a:hover"。内联样式主要用于单个元素的样式设置,而":hover" 是一个伪类选择器,通常是在内部样式表或外部样式表中定义的。

然而,如果你想要达到类似的效果而只能使用内联样式,你可以使用JavaScript来动态改变元素的样式当鼠标悬停在上面。这是一个示例代码,演示如何使用JavaScript来模拟 a:hover 的效果:

html
<a href="#" id="hoverLink" onmouseover="hoverEffect(true)" onmouseout="hoverEffect(false)">Hover over me!</a> <script> function hoverEffect(isHovering) { var link = document.getElementById('hoverLink'); if (isHovering) { link.style.color = 'red'; // 鼠标悬停时的颜色 link.style.textDecoration = 'underline'; // 鼠标悬停时的文本装饰 } else { link.style.color = 'initial'; // 鼠标离开时的颜色 link.style.textDecoration = 'none'; // 鼠标离开时的文本装饰 } } </script>

在这个例子中,当鼠标悬停在链接上时,hoverEffect(true) 被调用,将链接的文本颜色设置为红色并且下划线。当鼠标离开链接时,hoverEffect(false) 被调用,将链接的样式恢复到初始状态。通过这种方法,我们可以模拟内联CSS中的 a:hover 效果。

2024年6月29日 12:07 回复

onMouseOver您可以通过在和参数中使用 JavaScript 更改样式来获得相同的效果onMouseOut,尽管如果您需要更改多个元素,则效率极低:

shell
<a href="abc.html" onMouseOver="this.style.color='#0F0'" onMouseOut="this.style.color='#00F'" >Text</a>

运行代码片段Hide results

展开片段

另外,我无法确定this在这种情况下是否有效。您可能需要使用 来切换它document.getElementById('idForLink')

2024年6月29日 12:07 回复

你的答案