协慌网

登录 贡献 社区

如何写:悬停在内联 CSS?

我有一个案例,我必须编写内联 CSS 代码,我想在锚点上应用悬停样式。

如何在 HTML 样式属性中使用a:hover in inline CSS?

例如,您无法在 HTML 电子邮件中可靠地使用 CSS 类。

答案

简短的回答:你做不到。

答案很长:你不应该。

给它一个类名或 id,并使用样式表来应用样式。

:hover是一个伪选择器,对于CSS ,它只在样式表中有意义。没有任何内联样式的等价物(因为它没有定义选择标准)。

回应 OP 的评论:

有关动态添加 CSS 规则的好脚本,请参阅使用 Javascript 的 Totally Pwn CSS 。另请参阅更改样式表以了解有关该主题的一些理论。

此外,不要忘记,如果可以选择,您可以添加外部样式表的链接。例如,

<script type="text/javascript">
  var link = document.createElement("link");
  link.setAttribute("rel","stylesheet");
  link.setAttribute("href","http://wherever.com/yourstylesheet.css");
  var head = document.getElementsByTagName("head")[0];
  head.appendChild(link);
</script>

注意:上面假设有一个头部

您可以通过在onMouseOveronMouseOut参数中使用 JavaScript 更改样式来获得相同的效果,但如果您需要更改多个元素,则效率非常低:

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

此外,我无法确定this适用于此上下文。您可能必须使用document.getElementById('idForLink')进行切换。

你可以在过去的某个时候做到这一点。但是现在(根据同一标准的最新修订,即候选推荐)你不能。