Добавление CSS-класса на псевдо-элемент

мне было интересно, есть ли способ добавить класс CSS к псевдо-элементам, таким как :after.

Я хочу использовать :после добавления сообщения об ошибке. Я также хочу, чтобы сообщение об ошибке было стилизовано так же, как и другие сообщения об ошибках.

это работает:

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

но могу ли я сделать что-то подобное, чтобы добавить больше, чем стиль цвета?:

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

кроме того, есть ли разница между использованием "::после" vs ":после"?

спасибо вперед!

2 ответов


нет никакого способа дать HTML-атрибут любого рода элементу psuedo.

просто используйте селектор дважды:

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

кроме того, есть ли разница между использованием "::после" vs ":после"?

согласно этому:

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

на ::after нотация была введена в CSS 3, чтобы установить дискриминация между псевдо-классы и псевдо-элементы. Броузеры также примите обозначение :after введено в CSS 2.

Примечание: Microsoft Internet Explorer 8 поддерживает: после обозначения только.

Я бы сказал, что сообщения об ошибках могут быть содержательными, а не украшением - но это ваш вызов.


на :after элемент не является физическим элементом DOM, поэтому он не может принимать класс.

Если вы используете библиотеку стилей, как меньше, вы можете смешивать стили из других классов, включив класс в качестве свойства:

.error {
    .error-styles;
}