Junior
109
questionbank
Какие псевдоэлементы CSS вы знаете и используете?
Ответ от нейросети
sobes.tech AI
::before— вставляет содержимое перед содержимым элемента.::after— вставляет содержимое после содержимого элемента.::first-line— применяет стили к первой строке блочного элемента.::first-letter— применяет стили к первой букве блочного элемента.::selection— применяет стили к фрагменту текста, выделенному пользователем.::placeholder— применяет стили к тексту-заглушке в полях ввода (<input>,<textarea>).::marker— применяет стили к маркерам элементов списка (<li>).::backdrop— применяется к элементу, который находится за элементом (<dialog>,<full-screen>), представленным во весь экран или в модальном окне.::cuetext— применяется к отображаемому тексту субтитров или скрытых титров.::part()— позволяет стилизовать внутренние элементы компонента shadow DOM, которые помечены атрибутомpart.::slotted()— позволяет выбирать и стилизовать элементы, которые были вставлены в shadow DOM с помощью<slot>.
Наиболее часто использую ::before, ::after, ::first-line, ::first-letter, ::selection, ::placeholder, ::marker. ::backdrop и ::part()/::slotted() использую при работе с кастомными элементами и модальными окнами.
Пример использования ::before и ::after:
/* Добавление иконки перед ссылкой */
a::before {
content: url('icon.png');
margin-right: 5px;
}
/* Добавление декоративной линии после заголовка */
h2::after {
content: '';
display: block;
width: 50px;
height: 2px;
background-color: blue;
margin-top: 5px;
}
Пример использования ::first-line и ::first-letter:
/* Стилизация первой строки абзаца */
p::first-line {
font-weight: bold;
}
/* Стилизация первой буквы абзаца */
p::first-letter {
font-size: 2em;
color: red;
}
Пример использования ::selection:
/* Стилизация выделенного текста */
::selection {
background-color: yellow;
color: black;
}
Пример использования ::placeholder:
/* Стилизация текста-заглушки */
input::placeholder {
color: gray;
font-style: italic;
}
Пример использования ::marker:
/* Стилизация маркеров списка */
li::marker {
color: green;
content: '🔥 '; /* Использование эмодзи в качестве маркера */
}