25

我想知道是否有办法将 CSS 类添加到伪元素,例如:after。

我想使用 :after 附加错误消息。我还希望错误消息的样式与其他错误消息的样式相同。

这有效:

.error:after {
  content: "Error Message";
  color: red;
}

但是我可以做这样的事情来添加比颜色样式更多的东西吗?:

.error:after {
  content: "Error Message";
  class: error_message_styles;
}

另外,使用“::after”和“:after”有区别吗?

提前致谢!

4

2 回答 2

23

无法将任何类型的 HTML 属性赋予伪元素。

只需使用选择器两次:

.error:after {
  content: "Error Message";
}
.error:after, .error-style {
  color:red;
}

另外,使用“::after”和“:after”有区别吗?

根据这个:

https://developer.mozilla.org/en/CSS/:after

::after符号是在 CSS 3 中引入的,目的是区分伪类和伪元素。:after浏览器也接受CSS 2 中引入的符号。

注意: Microsoft Internet Explorer 8 仅支持 :after 表示法。

我认为错误消息可能是内容,而不是装饰 - 但这是你的决定。

于 2012-05-15T21:37:37.923 回答
6

:after元素不是物理 DOM 元素,因此它不能带类。

如果您使用LESS之类的样式表库,则可以通过将该类作为属性来混合其他类的样式:

.error {
    .error-styles;
}
于 2012-05-15T21:44:19.370 回答