#html #css
#HTML #css
Вопрос:
Я просматривал псевдоклассы и элементы в CSS.
До сих пор я читал, что псевдоклассы используются для выбора элементов, которые находятся в определенном состоянии.
И псевдоэлементы используются для добавления виртуальных элементов, таких как ::before и ::after .
Я в замешательстве, почему ::first-letter
and ::first-line
являются псевдоэлементами, а не псевдоклассами? Потому что они также выбирают элементы в определенном состоянии.
Комментарии:
1. Они не выбирают элементы в любом состоянии, они просто нацелены на узлы dom.
Ответ №1:
Потому что они также выбирают элементы в определенном состоянии.
Это не так. Они выбирают содержимое.
Псевдоэлементы создают абстракции о дереве документа помимо тех, которые указаны в языке документа. Например, языки документов не предлагают механизмов для доступа к первой букве или первой строке содержимого элемента. Псевдоэлементы позволяют авторам ссылаться на эту недоступную в противном случае информацию. Псевдоэлементы также могут предоставлять авторам способ ссылаться на содержимое, которого нет в исходном документе (например, псевдоэлементы ::before и ::after предоставляют доступ к сгенерированному содержимому).ссылка
и
Концепция псевдокласса вводится, чтобы разрешить выбор на основе информации, которая находится за пределами дерева документа или которая не может быть выражена с помощью других простых селекторов.ссылка
Они не могут быть псевдоклассами, потому что их выбор находится внутри дерева документа.