Понять :: before и :: after псевдоэлементы
В этой статье я расскажу о псевдоэлементах ::before
и ::after
и реальных случаях, когда нам потребуется их использовать.
Статья разделена на 4 раздела:
- Что такое псевдоэлементы?
::after
::before
- Общие варианты использования
Дополнительную информацию можно найти на https://betterfullstack.com
Что такое псевдоэлементы?
Псевдоэлемент — это ключевое слово, добавляемое к селектору, которое позволяет вам стилизовать определенную часть выбранных элементов.
Теперь у нас есть 13 псевдоэлементов:
::after (:after)
::backdrop
::before (:before)
::cue (:cue)
::first-letter (:first-letter)
::first-line (:first-line)
::grammar-error
::marker
::part()
::placeholder
::selection
::slotted()
::spelling-error
В этой статье мы сосредоточимся только на двух элементах ::after
и ::before
.
::после
::after
— это псевдоэлемент, который позволяет вставлять контент на страницу из CSS (без необходимости в HTML).
Определение Mozilla
::after
создает псевдоэлемент, который является последним дочерним элементом выбранного элемента.
Синтаксис:
/* CSS3 syntax */ ::after /* CSS2 syntax */ :after
Пример:
a::after {
content: "→";
}
::до
::before
— это псевдоэлемент, который позволяет вставлять содержимое на страницу из CSS (без необходимости в HTML).
Определение Mozilla
::before
создает псевдоэлемент, который является первым дочерним элементом выбранного элемента.
Итак, ::before
и ::after
похожи, но позиция для вставки содержимого отличается. ::before
будет добавлен как первый дочерний элемент к выбранному элементу, а
будет добавлен как последний дочерний элемент элемента.
Синтаксис:
/* CSS3 syntax */ ::before /* CSS2 syntax */ :before
Пример:
a::before {
content: "♥";
}
Общие варианты использования
Вот несколько распространенных случаев, когда мы применяем ::before
и ::after
для вставки содержимого в элементы.
Треугольник
Мы можем использовать псевдоэлементы для создания треугольной формы, которая будет использоваться для создания всплывающей подсказки или какого-либо специального пользовательского интерфейса из дизайна.
Демонстрация:
Код CSS:
В этом примере я создаю треугольник слева, используя псевдоэлемент ::before
. Вы можете получить образец CSS от Chris Coyier для создания треугольника с других сторон.
Панировочные сухари
Я думаю, что этот термин встречается во всех системах, таких как административные сайты, CMS, любое веб-приложение, используемое для управления данными.
Демонстрация:
Код CSS:
В приведенном выше примере кода я добавляю /
после каждого тега привязки. Для первого якоря я добавлю символ >>
. Затем последний удаляет /
.
Цитирование
Для вставки кавычек мы используем как ::before
, так и ::after
. Это будет широко применяться в системах управления контентом или сайтах контента.
Демонстрация:
Код CSS:
Иконки
Очень популярно использовать псевдоэлемент ::before
для добавления значка.
Демонстрация из Bootstrap 3 Glyphicons:
Если вы используете fontawesome или любые другие пакеты шрифтов, то вы увидите похожий код, который они применяют :before
для добавления значка к элементу.
Как можно выполнить настройку из собственного векторного SVG (масштабируемой векторной графики) или файлов изображений?
Используйте этот базовый шаблон, а затем добавьте свой собственный код.
Я думаю, что есть несколько способов настроить свой собственный значок. Но это базовый, который я использовал много раз с тех пор, как начал работать с Zeplin, который позволяет мне загружать иконки в SVG или других форматах.
Всплывающие подсказки
В этом примере ::after
используется для создания всплывающих подсказок. Никакого JavaScript не требуется!
Демонстрация:
Код CSS:
В этом коде используются 2 метода: data- * и attr ().
Флажок Да / Нет
Этот образец я получил от w3school. Затем я использую::after
, чтобы добавить контент в флажок, чтобы отобразить ДА или НЕТ.
Демонстрация:
Код CSS:
Очистить поплавок
Иногда нам нужно перемещать контент влево или вправо. Затем нам понадобится еще один элемент, чтобы очистить поплавок.
В этом случае мы будем использовать ::before
.
Демонстрация:
Код CSS:
Резюме
::before
и ::after
дают нам много преимуществ при добавлении содержимого в HTML без каких-либо новых узлов DOM. Если вы будете использовать его правильно, ваша жизнь станет намного проще.
Я знаю, что есть много случаев использования этих двух замечательных псевдоэлементов, и любые отзывы приветствуются.
Надеюсь, эта статья оказалась для вас полезной! Вы можете следить за мной на Medium. Я тоже в Твиттере. Не стесняйтесь оставлять любые вопросы в комментариях ниже. Буду рад помочь!
Проверьте исходный код здесь:
angular-76bqce — StackBlitz
Стартовый проект для приложений Angular, который экспортируется в интерфейс командной строки Angular stackblitz.com
Ресурсы / Ссылки
[1]: Псевдоэлементы https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements
[2]: После псевдоэлемента https://developer.mozilla.org/en-US/docs/Web/CSS/::after
[3]: До псевдоэлемента https://developer.mozilla.org/en-US/docs/Web/CSS/::before
[4]: треугольник CSS https://css-tricks.com/snippets/css/css-triangle/
Learn CSS — Лучшие учебники по CSS (2019) | gitconnected
43 лучших руководства по CSS — изучайте CSS бесплатно. Курсы отправляются разработчиками и голосуются за них, что позволяет вам найти… gitconnected.com
Истории — лучше FullStack
Все истории Истории Напишите нам Руководство по отправке истории в блог Better Programming 1. Руководство по истории Чего следует избегать… betterfullstack.com
Популярно о псевдоэлементах :Before и :After
Содержание
- 1 Синтаксис и поддержка браузерами
- 1.1 Пример использования псевдоэлементов
- 2 Использование
- 2.1 Стилизация псевдоэлементов
- 2.2 Использование вместе с псевдоклассами
- 2.3 Добавление transition-эффекта
- 3 Немного вдохновения
- 3.1 Fascinating Shadows
- 3.2 3D Button
- 3.3 Stacked Image Effect
Псевдоэлементы :before и :after позволяют добавлять содержимое (стили) до и после элемента, к которому были применены.
Всего существует несколько типов псевдоэлементов: :first-line, :first-letter, ::selection, :before и :after. В этой статье подробно рассмотрены последние два, как наиболее полезные.
Синтаксис и поддержка браузерами
Псевдоэлементы появились еще в CSS1, но пошли в релиз только в CSS2.1. В самом начале в синтаксисе использовалось одно двоеточие, но в CSS3 используется двойное двоеточие для отличия от псевдоклассов:
Но в любом случае, современные браузеры умеют понимать оба типа синтаксиса псевдоэлементов, кроме Internet Explorer 8, который воспринимает только одно двоеточие. Поэтому надежнее использовать одно.
Пример использования псевдоэлементов
<p> <span>:before</span> Это основной контент. <span>:after</span> </p>
Элементы :before и :after не будут сгенерированы, т.е. не будут видны в коде страницы, поэтому они и называются псевдоэлементами.
Использование
Использовать псевдоэлементы крайне просто: :before
Для добавление контента внутри псевдоэлементов можно воспользоваться CSS-свойством content.
Простой пример: необходимо добавить кавычки для цитаты:
blockquote:before { content: open-quote; } blockquote:after { content: close-quote; }
Стилизация псевдоэлементов
К псевдоэлементом можно применять такие же стили, как и к «реальным»: изменение цвета, добавление фона, регулировка размера шрифта, выравнивание текста и т.д.
blockquote:before { content: open-quote; font-size: 24pt; text-align: center; line-height: 42px; color: #fff; background: #ddd; float: left; position: relative; top: 30px; } blockquote:after { content: close-quote; font-size: 24pt; text-align: center; line-height: 42px; color: #fff; background: #ddd; float: rightright; position: relative; bottombottom: 40px; }
Созданные элементы по умолчанию inline-элементы, поэтому при указании высоты или ширины необходимо установить
blockquote:before { content: open-quote; font-size: 24pt; text-align: center; line-height: 42px; color: #fff; background: #ddd; float: left; position: relative; top: 30px; border-radius: 25px; /** define it as a block element **/ display: block; height: 25px; width: 25px; } blockquote:after { content: close-quote; font-size: 24pt; text-align: center; line-height: 42px; color: #fff; background: #ddd; float: rightright; position: relative; bottombottom: 40px; border-radius: 25px; /** define it as a block element **/ display: block; height: 25px; width: 25px; }
Также внутри псевдоэлемента можно использовать картинку вместо обычного текста, и даже добавлять фоновое изображение.
blockquote:before { content: " "; font-size: 24pt; text-align: center; line-height: 42px; color: #fff; float: left; position: relative; top: 30px; border-radius: 25px; background: url(images/quotationmark.png) -3px -3px #ddd; display: block; height: 25px; width: 25px; } blockquote:after { content: " "; font-size: 24pt; text-align: center; line-height: 42px; color: #fff; float: rightright; position: relative; bottombottom: 40px; border-radius: 25px; background: url(images/quotationmark.png) -1px -32px #ddd; display: block; height: 25px; width: 25px; }
В этом примере свойство content содержит пустую строку, это необходимо, иначе псевдоэлемент не будет правильно отображаться.
Использование вместе с псевдоклассами
Псевдоэлементы могут быть использованы вместе с псевдоклассами, в нашем примере это поможет добавить hover-эффект кавычкам:
blockquote:hover:after, blockquote:hover:before { background-color: #555; }
Добавление transition-эффекта
Также можно применить свойство transition для плавного изменения цвета кавычек:
transition: all 350ms; -o-transition: all 350ms; -moz-transition: all 350ms; -webkit-transition: all 350ms;
К сожалению, это нормально работает только в последних версиях Firefox.
Посмотреть демонстрацию примера из этой статьи.
Немного вдохновения
Три примера использования псевдоэлементов :before и :afte:
Fascinating Shadows
3D Button
Stacked Image Effect
Заглавная страница
КАТЕГОРИИ: Археология Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрации Техника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ? Влияние общества на человека Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. |
⇐ ПредыдущаяСтр 5 из 7Следующая ⇒ Псевдоэлемент ::before добавляет определённое содержимое перед каждым указанным элементом. Псевдоэлемент ::before используется вместе со свойством content, которое необходимо для вставки сгенерированного контента.
Псевдоэлемент ::after выступает прямой противоположностью ::before и добавляет содержимое после определенного элемента, а не до. Он также используется вместе со свойством content, которое используется для вставки сгенерированного контента.
Задание для самостоятельного выполнения. Для предыдущего примера измените код таким образом, чтобы после каждого блока с изображением и после каждого абзаца будет генерироваться (добавляться) определенная фраза.
Применение псевдоэлементов ::before и ::after позволяют добавлять перед элементами не только текстовую информацию, но даже изображения, счетчики, разноцветные буллиты, которые используются в маркированных списках и так далее. Псевдо-классы Стилевая информация обычно подключается к элементам на основе их положения в дереве документа. Этой модели достаточно в большинстве случаев, однако имеются и распространенные исключения, например, нельзя найти в дереве документа информацию о первой строке абзаца. Спецификация CSS вводит понятия псевдо-классов и псевдо-элементов для применения стилевой информации за пределами дерева документа. В настоящее время в CSS 3 существует более тридцати псевдоклассов.
Псевдоклассы в отличие от псевдоэлементов добавляются к селекторам с одним двоеточием: селектор:псевдокласс { /* одинарное двоеточие */ CSS свойство: значение;}
Фокус на элементе Псевдокласс :focus производит выбор элементов, которые в настоящий момент находятся в фокусе (допускается использовать на элементы, которые принимают события клавиатуры или другие данные, вводимые пользователем).
Пример использования псевдокласса В данном примере мы создали два элемента <input>, первый с типом text (однострочное текстовое поле), а второй с типом password (поле с паролем). Если пользователь производит выбор элементов <input> (поле получает фокус), то поле получает стиль, который мы задали, а если поле теряет фокус, то стиль возвращается на первоначальный.
Стилизация ссылок Псевдокласс :link задаёт стиль всем ссылкам, по которым пользователь не произвёл переход (не посещенные ссылки). Как правило, используется с псевдоклассом :visited, который определяет стиль для посещённых пользователем ссылок.
Псевдокласс :visited задаёт стиль всем ссылкам, по которым пользователь производил переход (посещенные ссылки).
Псевдокласс :active используется для выбора активного элемента — элемента на который в данный момент пользователь кликнул мышкой. Стиль для элемента применится и будет работать пока удерживается кнопка мыши.
Псевдокласс :hover используется для стилизации любого элемента, на который в данный момент указывает курсор мыши. Чаще всего используют данный псевдокласс с ссылками, кнопками, в меню навигации и таблицами.
Задание для самостоятельного выполнения
Составьте HTML страницу на которой: 1. Ссылки по умолчанию имеют цвет текста черный. 2. При наведении на ссылку цвет текста ссылки должен соответствовать её названию (red, green или blue). 3. При выделении текста ссылки цвет заднего фона должен соответствовать её названию. 4. Цвет первой буквы каждого абзаца должен соответствовать определенному цвету. 5. При выделении текста абзаца цвет заднего фона должен соответствовать цвету первой буквы. 6. Пока на абзаце удерживается кнопка мыши цвет текста должен соответствовать тематике абзаца (red, green или blue). 7. Продвинутое задание: пока на абзаце удерживается кнопка мыши цвет первой буквы должен быть черный. 8. Продвинутое задание: оптимизируйте (сократите) css код, образуя групповые селекторы, отвечающие за один и тот же цвет при том, или ином состоянии элемента, где это возможно.
Селекторы атрибутов Исходя из названия заголовка, вы можете догадаться, что благодаря использованию селекторов атрибутов вы можете выбрать те элементы страницы, которые имеют определённые HTML атрибуты. Давайте рассмотрим следующий селектор и попробуем разобраться, что он значит: img[title] { /* выбирает все элементы <img> с атрибутом title */ блок объявлений;} img в данной случае аналогичен селектору типа, т.е выбирает все элементы <img>, а в квадратных скобках мы задаем имя атрибута этого элемента. То есть происходит выборка всех элементов данного типа с определённым атрибутом, в нашем примере это глобальный атрибут title, определяющий текстовую подсказку о содержимом элемента. Вы можете использовать селекторы атрибутов не только напрямую к элементам, но и использовать их с прочими селекторами, например с селекторами класса или id селекторами: .main[title] { /* выбирает все элементы с классом main и атрибутом title */ блок объявлений;} #main[title] { /* выбирает элемент с идентификатором main и атрибутом title */ блок объявлений;} В данном случае первый селектор выбирает все элементы, которые имеют значение глобального атрибута class равным main и глобальным атрибутом title. Второй селектор выбирает элемент, который имеют значение глобального атрибута id равным main и глобальным атрибутом title.
С помощью селектора атрибутов можно выбрать элементы не только с определённым атрибутом, но и указать с каким значением должен быть этот атрибут. = value] { блок объявлений; }
Следующий селектор позволит нам, к примеру, выбрать изображения, которые содержат в названии IMG_ (как правило такое наименование файлов использует компания Canon): img [src*=»IMG_»] { /* выбирает все элементы img, атрибут src, которых содержит символы «IMG_» */ блок объявлений; } /* селектор выбирает элементы с такими значениями как «xxxIMG_», «IMG_xxxx» и «xxxIMG_xxxx» */ Браузер интерпретирует это как необходимость выбора всех изображений, атрибут src которых содержит IMG_ (в любом месте). Зачастую такой способ позволяет быстрее отформатировать необходимые элементы, по сравнению с созданием и присвоением стилевого класса для каждого элемента. Следующий селектор позволяет выбрать элемент, значение атрибута которого содержит определённое слово (не зависимо от позиции): p[title ~=»home»] { /* выбирает элементы <p>, которые содержат определенное слово */ блок объявлений; }
<p title = «go home»>Абзац title=»go home»</p> <!— абзац будет стилизован (содержит home) —> <p title = «home home» >Абзац title=»home home»</p> <!— абзац будет стилизован (содержит home) —> <p title = «home-1» >Абзац title=»home1″</p> <!— абзац не будет стилизован —> <p title = «homes» >Абзац title=»homes»</p> <!— абзац не будет стилизован —> <p title = «shome»>Абзац title=»shome»</p> <!— абзац не будет стилизован —> Ну и заключительный селектор атрибута, который имеется в современном стандарте, позволяет выбрать элемент значение атрибута которого начинается с определенного слова: [title | = home] { /* выбирает все элементы с атрибутом, значение которого начинается с определённого слова (после него не должно быть никаких символов, либо допускается продолжать значение через дефис, иначе выборка не будет произведена) */ блок объявлений; }
<p title = «home»>Абзац title=»home»</p> <!— абзац будет стилизован (начинается с home) —> <p title = «home-1» >Абзац title=»home-1″</p> <!— абзац будет стилизован (начинается с home после которого следует дефис) —> <p title = «home home»>Абзац title=»home home»</p> <!— абзац не будет стилизован —> <p title = «not home»>Абзац title=»not home»</p> <!— абзац не будет стилизован —> <p title = «homes» >Абзац title=»homes»</p> <!— абзац не будет стилизован —> <p title = «shome»>Абзац title=»shome»</p> <!— абзац не будет стилизован —> Обратите внимание, что условие выборки будет соблюдено, если атрибут содержит значение, которое содержит только указанное слово, или если после указанного слова сразу следует дефис (значение продолжается через дефис).
⇐ Предыдущая1234567Следующая ⇒ Читайте также: Психологические особенности спортивного соревнования Приготовление дезинфицирующих растворов различной концентрации Занятость населения и рынок труда Социальный статус семьи и её типология |
||||||||||||||
Последнее изменение этой страницы: 2021-05-27; просмотров: 87; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь — 176.9.44.166 (0.014 с.) |
Псевдоэлементы :Before и :After – как и где использовать
Здравствуйте, уважаемые друзья. Как вы знаете, на скорость загрузки сайта влияет довольно много факторов. А ещё скорость загрузки сайта – это один из факторов ранжирования в поисковых системах.
Следовательно, лучше обратить внимание на этот показатель. И лучше раньше, чем позже. Как вы помните, я писал ранее, что немалую нагрузку создают изображения, которые загружаете вы, и которые используются в элементах дизайна вашего сайта.
Разумеется, перед загрузкой изображений на сайт их нужно оптимизировать, как и какими средствами, я писал здесь. Также положительно на скорости загрузки скажется объединение элементов дизайна в CSS-спрайты. Этот способ сократит в разы количество запросов к базе данных, и на выходе вы получаете более шустрый сайт.
В общем, факторов тормозящих сайт довольно много и я не буду на них сильно останавливаться, дабы не отходить от темы. А поговорим мы сегодня про псевдоэлементы. Которые также позволят украсить сайт и при этом сократят время загрузки.
Если хотите узнать всё и сразу – смотрите видеоурок.
Содержание
- Что такое псевдоэлементы :Before и :After
- Что можно упаковать в псевдоэлементы :Before и :After
- Как использовать псевдоэлементы :Before и :After
- Псевдоэлементы :Before и :After с фоновым изображением
- Псевдоэлементы :Before и :After со шрифтами иконками
Что такое псевдоэлементы :Before и :After
Псевдоэлементы Before и After используются для добавления стилей или контента до и после элемента, к которому они применены. Причём эти псевдоэлементы не отображаются в исходном коде страницы.
Я увидел в них своего рода альтернативу css-спрайтам. На моей нынешней теме оформления я собрал элементы дизайна в спрайты. Это сократило время загрузки сайта.
Реализация css спрайтовСейчас я работаю над новым дизайном, где решил реализовать вывод графических элементов дизайна с помощью псевдоэлементов. То есть я реализую отображение иконок социальных сетей, комментариев, календаря и так далее через псевдоэлементы.
Что можно упаковать в псевдоэлементы :Before и :After
Используя данные псевдоэлементы, вы можете выводить специальные символы, иконки и даже css-спрайты. Для этого всего лишь нужно в исходный код вставить необходимые теги, а всё остальное настраивается в файле стилей.
Есть лишь некоторые отличия в наполнении псевдоэлементов контентом. Скажем, если это просто кавычки или скобка, или какой другой простой символ, то проблем нет вообще. Но, вот если это шрифт-иконки или фоновое изображение, то придётся немного повозиться. И эта возня того стоит.
Кстати, если в качестве контента для псевдоэлементов использовать специальные символы или шрифты-иконки, то к ним можно применять стили css: цвет, размер, начертание, позиционирование и так далее.
Как использовать псевдоэлементы :Before и :After
Конструкция использования псевдоэлементов достаточно проста. :Before устанавливается перед элементом, а :After после элемента.
В HTML код вставляем такую конструкцию:
<span class=”psevdo”>Здесь может быть любой текст.</span>
Разумеется, это пример и в каждом конкретном случае эту конструкцию можно всегда изменить под себя. Класс «psevdo» будет использоваться для добавления псевдоэлементов в стилях CSS. И делается это через свойство css (content).
Допустим, если я захочу поставить впереди и сзади вышеуказанной фразы символ параграфа §, то мне нужно будет добавить вот такие стили:
. psevdo:before { content: '§'; } . psevdo:after { content: '§'; }
А для придания псевдоэлементам необходимого вида, можно добавить дополнительные стили. Всё будет зависеть от конкретного примера.
И получится так:
§Здесь может быть любой текст.§
Это был простой пример. Теперь давайте рассмотрим пример с добавлением псевдоэлементов с фоновым изображением.
Псевдоэлементы :Before и :After с фоновым изображением
Принцип добавления псевдоэлементов с фоновым изображение похож на предыдущий пример, но только в качестве контента будет использоваться изображение. Можно использовать как отдельные изображения (иконки), так и спрайты.
В качестве примера я приготовил небольшой спрайт.
Пример css спрайтаА теперь давайте разберём, как добавить псевдоэлементы с изображением.
Код html будет тот же.
<span class=”psevdo”>Здесь может быть любой текст.</span>
А вот css стили будут отличаться. Отличие в том, что свойство content будет пустым. Значение будет подставляться из свойства background.
.psevdo:before{ content: ""; /*поле контент оставляем пустым*/ float: left; /*обтекание по левому краю*/ position: relative; /*позиционирование*/ top: 4px; /*отступ сверху*/ left: 4px; /*отступ слева*/ background: url(glyphicons.png) -3px -3px no-repeat; /*фоновое изображение, позиция, не размножать*/ display: block; /*блочный элемент*/ height: 25px; /*высота*/ width: 25px; /*ширина*/ } . psevdo:after{ content: ""; position: absolute; top: 8px; left: 188px; background: url(glyphicons.png) -25px 10px no-repeat; display: block; height: 25px; width: 25px; }
В результате применения этих стилей – я получил вот такой эффект.
Готовый примерЕстественно, в каждом конкретном примере свойства css будут отличаться.
А теперь рассмотрим вариант, когда в качестве контента будут иконки специальных шрифтов. Этот вариант мне нравится больше всего.
Псевдоэлементы :Before и :After со шрифтами иконками
Реализация этого метода ещё проще, чем предыдущие два. Да и к тому же при использовании этого метода в вашем арсенале будет более 500 иконок. Которые вы сможете масштабировать, изменять цвет и так далее, как этого будет требовать ваш проект.
Я пересмотрел несколько шрифтов-конок и остановился на Awesome. На мой взгляд, здесь собраны более красивые иконки и их большой выбор.
Со всеми иконками вы можете ознакомиться на официальном сайте Awesome. Там же вы найдёте и множество примеров по применению псевдоэлементов.
Итак, для того чтобы использовать псевдоэлементы :Before и :After с контентом в виде шрифтов-иконок. Необходимо организовать подключение к базе этих самых иконок.
Шаг 1.
Подключаем базу шрифтов. Для этого в заголовок сайта (файл header.php) необходимо вставить вот такой код:
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
Для этого открываем административную панель WP – «Внешний вид» — «Редактор» — «Заголовок/header.php»
Подключаем шрифШаг 2.
Теперь на сайте Awesome выбираете подходящие иконки и копируете код в исходный код вашего шаблона.
Вставляем иконкиЯ в качестве примера добавил псевдоэлементы :Before рядом с уже реализованными спрайтами на моём блоге.
Пример с иконкамиШаг 3.
А для того чтобы пример был более наглядный я добавил пару свойств css в файл style. css:
font-size: 15px; color: crimson;
И добавляя нужные свойства в таблицу стилей, вы сделаете свой сайт более привлекательным.
Друзья, теперь вы понимаете, как можно использовать псевдоэлементы :Before и :After и где их применить. А самое главное эти элементы загружаются намного быстрей, чем множество маленьких изображений.
Пробуйте, внедряйте. А если будут вопросы, пишите в комментариях, — я помогу. До встречи, друзья в новых статьях.
С уважением, Максим Зайцев.
Применение псевдоклассов :before и :after в CSS
Использование псевдоэлементов в CSS значительно расширяет возможности для интеллектуального выбора конкретных элементов на веб-странице и для внесения таких видов изменений, которые в противном случае были бы невозможны. Применение их сочетаний позволяет внести довольно сложные изменения в код страницы. С их помощью можно решать множество проблем, для которых обычно нужны либо JavaScript, либо доступ к PHP-коду сайта.
Псевдоэлементы для стилизации в CSS
Элементы :before и :after в CSS относятся к так называемым псевдоэлементам и используются для стилизации указанных частей контейнера. Например, его можно использовать для задания стиля первой букве в строке или вставки контента до или после содержимого какого-то определенного контейнера. Они используются для добавления чего-либо до или после содержимого элемента. Псевдоэлементы :before и :after имеют множество применений, но они служат единой цели.
Их используют для оформления существующих HTML-элементов с дополнительным текстом или изображением содержимого. Псевдоэлементы :after и “content” в CSS, который является его свойством, неразрывно связаны, и первый не работает отдельно от второго. Содержание этого свойства можно оставить пустым, если добавить к нему пустые кавычки: content: “”. Таким образом, еще один вариант использования этого псевдоэлемента — сделать его контейнером для какого-то содержимого. Если содержимое и свойство удаляется полностью, :after не будет работать.
Практическое применение :before и :after в CSS
Наверное, самое популярное использование данных псевдоэлементов — добавление иконок. В этом случае они будут располагаться до или после какого-то текста, например, названия компании. Еще один вариант применения — стилизация заголовков. Но псевдоэлементы можно использовать не только для создания разнообразных украшений на странице. Рассмотрим очень распространенный пример: красную звездочку, которая находится в поле формы, обязательном для заполнения. Один из простых способов это сделать — размещать ее каждый раз непосредственно в HTML-разметке. Но ради этого придется писать очень много разметки для одной красной звездочки. Кроме того, что если мы хотим изменить все эти звездочки в точки или в слова или перекрасить их в другой цвет? В этом случае придется сделать одно и то же изменение в каждом из дубликатов.
Пример работы с формой
Несколько более элегантный способ, чтобы получить тот же результат — использовать псевдоэлемент :after в CSS и объединить его с разметкой HTML. Для этого нужно задать в коде элементу поля какой-то класс, а затем добавить к нему псевдоэлемент и нужное свойство:
. some-field:after {content: " *";color: red;}
Теперь в нужных местах будет стоять красная звездочка. Кроме того, правила для элементов с классом .some-field и псевдоэлементом :after в CSS будут централизованы в одном месте, так что можно будет легко изменить внешний вид страницы, в том числе цвет, размер, содержимое на всем сайте сразу. Из этого примера становится понятно, что подобная логика применяется к другим повторяющимся текстовым украшениям. Например, используя псевдоэлемент :before вместе с некоторыми шрифтами, можно изменять значок неупорядоченного списка на другой.
Вставка содержимого без изменения файлов шаблонов для сайта WordPress
Для сайтов WordPress также можно использовать псевдоэлементы. Например, если нужно добавить уведомление о доставке в заголовке на каждой странице, но установленная тема не позволяет что-то добавить, кроме строки поиска и корзины. Это гораздо проще, чем переделывать шаблон. Добавив псевдоэлемент :after и нужную надпись в свойство “content”, можно расположить ее на удобном месте, где она будет смотреться логично. Главным выводом из этого является то, что использование :before и :after настолько широко, что позволяет по-разному позиционировать элементы, заставляя их находиться справа или слева от контейнера, использовать поля и отступы.
Непрозрачный текст на полупрозрачном фоне
В CSS удивительно сложно сделать элемент с полностью непрозрачным текстом над полупрозрачным изображением. Можно пробовать выставлять непрозрачность, но при этом и сам текст размывается. Самый простой вариант сделать это — правильно использовать псевдоэлемент :before. С его помощью основной слой становится полноразмерным, абсолютно спозиционированный и с полупрозрачным изображением под главным элементом, в котором содержится текст. Этот слой изображения может иметь любую непрозрачность, которая необходима, но при этом не будет влиять на основной слой.
Недостатки использования псевдоклассов
Использование сочетаний нескольких таких элементов является мощным инструментом в руках разработчика, но считается, что его лучше всего применять в качестве последнего средства, когда PHP-код сайта по каким-то причинам не доступен, или его невозможно исправить. Происходит так потому, что с помощью других средств все может быть сделано гораздо проще. Например, можно просто добавить простые классы CSS, где это необходимо. Стоит отметить, что ошибка “connection failed after 4 retries CSS” не относится к каскадной таблице стилей. Она встречается при проблеме с сервером в игре Counter-Strike: Source. То же самое относится к “CSS v34 connection failed after 4 retries”. Здесь под “CSS” имеется в виду название игры.
Конкретные недостатки таких псевдоэлементов как :after в CSS включают:
- Хрупкость стилевого оформления. Возможность быстро испортить код при неверном использовании.
- Непрозрачность. Большое количество кода с использованием псевдоэлементов может быть непонятным другому верстальщику, который начнет работать с сайтом.
- Псевдоэлементы поддерживаются не полностью. Браузеры становятся все лучше и совершеннее, но все же намного безопаснее пользоваться простыми классами HTML.
В основном это касается проектов, где PHP-код находится вне досягаемости, и где что-то должно быстро работать.
Что такое псевдоклассы (pseudo classes) и псевдоэлементы (pseudo elements)
1 year ago | 10.0K
Всем приветствую, с вами Сергей Никонов и в этой статье я расскажу про псевдоклассы (pseudo classes), псевдоэлементы (pseudo elements) и как с помощью них задавать CSS-стили для вашего сайта. На примерах мы рассмотрим как с работают самые часто используемые псевдоклассы и псевдоэлементы при верстке сайтов.
Это один из уроков курса по верстке веб-сайтов HTML/CSS Advanced и если вы хотите научиться верстать веб-сайты на профессиональном уровне, я рекомендую проходить этот курс на сайте FructCode с интерактивными упражнениями для закрепления ваших знаний полученных из курса верстки сайтов.
Только на сайте FructCode вы можете найти актуальных версии моих курсов!
Содержание
- Что такое псевдоклассы (pseudo classes)
- Псевдокласс :hover
- Псевдокласс :active
- Псевдокласс :focus
- Псевдоклассы :first-child и :last-child
- Псевдоклассы :first-of-type и :last-of-type
- Псевдокласс :nth-child
- Псевдокласс :not
- Что такое псевдоэлементы (pseudo elements)
- Псевдоэлементы ::before и ::after
Что такое псевдоклассы (pseudo classes)
Псевдокласс (pseudo class) — это специальное ключевое слово, которое добавляется к css-селектору (css selector), с помощью которого можно задавать стили для отображения HTML-элементов при различных факторах. К примеру, можно задать CSS-стили для HTML-элемента на который пользователь навел курсор мыши.
Если вы еще не знакомы с понятием CSS-селектор (css selector) и не знаете, что такое CSS-селекторы (css selectors), прочитайте об этом статью или посмотрите видеоурок из курса HTML/CSS Advanced, а для закрепления ваших знаний, пройдите интерактивные упражнения.
Псевдоклассы задаются через двоеточие “:”, далее идет название псевдокласса, например, так задается псевдокласс :hover для HTML-тега <a>: a:hover {…}.
Смотрите видео «Что такое псевдоклассы(pseudo classes) и псевдоэлементы(pseudo elements)»
Подпишитесь на YouTube канал FructCode, чтобы не пропустить полезные видео!
Псевдокласс :hover
Псевдокласс :hover позволяет задавать CSS-стили при наведении курсора мыши на HTML-элемент.
Посмотрите на этот пример. Наведите курсор мыши на ссылку Link и вы увидите, что цвет ссылки, при наведении на него курсора мыши, изменился на цвет “brown”:
Псевдокласс :active
С помощью псевдокласса :active мы можем задавать CSS-стили в момент клика на HTML-элемент мышью.
Посмотрите пример ниже. Наведите курсор мыши на надпись Link, затем нажмите левой кнопкой мыши на надпись Link и не отпускайте кнопку мыши. Вы увидите, что ссылка в момент клика мышью стала зеленого цвета:
Псевдоклассы :hover и :active работают не только с HTML-тегом <a>. Вы можете заменить в CSS-стилях “a” на любой другой HTML-тег или название классы и стили применятся к этому HTML-элементу.
Псевдокласс :focus
Псевдокласс :focus позволяет задавать стили для HTML-тегов таких как <input>, <textarea>, <checkbox> и других при установке курсора мыши в этот элемент.
Посмотрите пример ниже с HTML-формой. Если вы установите курсор мыши в поле <input>, фоновый цвет поля изменится:
Псевдоклассы :first-child и :last-child
С помощью псевдокласса :first-child вы можете задавать стили для первого HTML-элемента, который является первым у своего родителя (parent).
Чтобы было проще понять как работает :first-child, посмотрите пример ниже. В маркированном списке выделяется цветом первый элемент <li>, а его родителем (parent) является тег <ul>:
А с помощью псевдокласса :last-child вы можете задавать CSS-стили для последнего HTML-элемента.
Посмотрите пример ниже. Благодаря псевдоклассу :last-child выделяется цветом последний HTML-элемент <li> в маркированном списке:
Кстати, если вы еще не знаете, что такое маркированные списки (html теги <ul> <li>), которые используются в этих примерах или что такое нумерованные списки (html теги <ol> <li>), посмотрите этот видеоурок из курса HTML/CSS Advanced.
Как я говорил ранее, для того, чтобы применялись стили к HTML-элементу, заданных с помощью псевдоклассов :first-child и :last-child, у элемента должен быть родитель (parent). Если родитель отсутствует, тогда стили не сработают.
Посмотрите пример ниже. У тега <span> есть родительский тег <div> и стили с :first-child работают, а для <span> без родительского тега :first-child и :last-child не будут работать:
Обратите внимание, что в текущей спецификации Selectors Level 3, при использовании псевдоклассов :first-child и :last-child элемент должен иметь родителя (parent), чтобы сработали css-стили. В новой разрабатываемой версии спецификации Selectors Level 4 для срабатывания стилей заданных с помощью :first-child, :last-child, элемент может не иметь родителя.
Псевдоклассы :first-of-type и :last-of-type
С помощью псевдоклассов :first-of-type и :last-of-type можно задавать стили для первого и последнего потомка (child) соответсвенно своего типа среди детей (child) его родителя (parent).
Определение звучит сложно и не очень понятно. Поэтому лучше сразу перейти к примерам, чтобы вы быстро поняли как работают псевдоклассы :first-of-type и :last-of-type.
В этом примере, с помощью псевдокласса :first-of-type можно выделить цветом все первые элементы <li> в маркированном списке с текстом “First”:
Точно такой же результат вы можете получить и с помощью псевдокласса :first-child, но не сможете выделить все последние элементы маркированного списка с надписью Third во всех вложенностях с помощью :last-child, зато такой результат вы сможете получить с помощью псевдокласса :last-of-type:
Псевдокласс :nth-child
С помощью псевдокласса :nth-child вы можете задавать стили для одного или более HTML-элементов, которые будут основываться на их позиции среди HTML-элементов соседей.
Звучит сложно и непонятно, согласен. Но не будем отчаиваться и очень быстро все поймем на примерах ниже.
Например, в нашем любимом маркированном списке мы хотим выделить цветом какой-то определенный элемент <li> под номером три. Для этого в CSS-стилях нам достаточно добавить псевдокласс :nth-child к <li> вот таким образом: li:nth-child(3) и в результате мы сделаем то, что хотели:
Но этим возможности псевдокласса :nth-child не ограничиваются и мы можем выделить все нечетные HTML-элементы <li> из нашего маркированного списка, написав несколько символов кода: li:nth-child(odd). Ключевое слово “odd” внутри скобок псевдокласса :nth-child как раз задает этот правило:
А с помощью ключевого слова even внутри скобок псевдокласса :nth-child мы можем наоборот выделить цветом все четные HTML-элементы <li> из нашего маркированного списка:
И на этом возможности псевдокласса :nth-child не заканчиваются и мы можем писать даже сложные правила выборки HTML-элементов к которым применить CSS-стили с помощью формул. Об этом вы можете прочитать в документации к псевдоклассу :nth-child.
Псевдокласс :not
С помощью псевдокласса :not вы можете задать CSS-стили для которые не будут соответствовать заданному селектору.
Простыми словами, вы можете в псевдокласс :not, в его скобки, указать любой класс или элемент и CSS-стили будут заданы всем соседям данного элемента, кроме него самого.
Если все еще непонятно, что такое псевдокласс :not, вот вам наглядный пример, с моим любимым маркированным списком. В четвертый HTML-элемент <li> мы задали класс .not-color и задали стили для <li>, указав в скобках название класса — :not(.not-color). И в результате у нас окрашиваются все другие элементы <li>, кроме <li> с классом .not-color:
И если вы переместите класс .not-color соседний <li>, выше или ниже, будут закрашиваться цветом все <li>, кроме <li> с классом .not-color.
Что такое псевдоэлементы (pseudo elements)
Псевдоэлемент (pseudo element) — это это специальное ключевое слово, которое добавляется к css-селектору и позволяет задавать стили для части выбранного HTML-элемента.
Псевдоэлементы ::before и ::after
Псевдоэлементы ::before и ::after используются очень часто при верстке сайтов на профессиональном уровне.
Суть этих псевдоэлементов очень простая: С помощью псевдоэлемента ::before вы можете присоединить к существующему HTML-тегу какой-то контент ДО этого HTML-элемента, а с помощью псевдоэлемента ::after ПОСЛЕ HTML-элемента.
И сразу давайте перейдем к примеру ::before и ::after. У нас есть HTML-тег <p> и в него помещен текст “Have a good day!”. И с помощью псевдоклассов ::before и ::after мы добавляем “сердечки” слева и справа от надписи “Have a good day!”:
Обратите внимание, что в отличии от псевдоклассов, перед псевдоэлементами ставится два двоеточия. Прочитать о других псевдоэлементах вы можете в документации.
Вывод
В этой статье мы рассмотрели самые используемые псевдоклассы и псевдоэлементы, которые используют frontend-разработчики создавая верстку сайтов на профессиональном уровне.
А если вы хотите научиться верстать с нуля до уровня профессионала, я рекомендую пройти мой интерактивный курс HTML/CSS Advanced. Курс HTML/CSS Advanced разделен на две части, на теоретическую часть, где вы познакомитесь с основами HTML и CSS и на практическую часть, где мы будем создавать верстку сайта KinoMonster (КиноМонстер).
Кстати, у меня есть YouTube канал FructCode, где я переодически публикую полезные видео о верстке веб-сайтов и программировании. Подпишитесь на YouTube канал FructCode, чтобы не пропустить полезные видео!
С вами был Сергей Никонов,
Успехов в обучении!
Понимание ::до и ::после псевдоэлементов | by TRAN SON HOANG
Photo by Nathan Dumlao on Unsplash В этой статье я расскажу о псевдоэлементах ::before
и ::after
и реальных случаях, когда нам нужно их использовать.
Статья разделена на 4 раздела:
- Что такое псевдоэлементы?
-
::после
-
::до
- Распространенные случаи использования
Для получения дополнительной информации, подобной этой, см. https://betterfullstack.com
Псевдоэлемент — это ключевое слово, добавляемое к селектору, которое позволяет вам стилизовать определенную часть выбранных элементов.
Теперь у нас есть 13 псевдоэлементов:
-
::after (:after)
-
::backdrop
-
::before (:before)
- 2 90
-
::first-letter (:first-letter)
-
::first-line (:first-line)
-
:: грамматическая ошибка
-
:: Маркер
-
:: part ()
-
:: Placeholder
-
:: Выбор
-
:: STTTTIN
:: орфографическая ошибка
Эта статья будет посвящена только двум элементам: :: после
и :: до
.
::after
— это псевдоэлемент, который позволяет вам вставлять контент на страницу из CSS (без необходимости в HTML).
Определение в Mozilla
::after
создает псевдоэлемент, который является последним дочерним элементом выбранного элемента синтаксис */
:послеПример:
a::after {
content: "→";
}
::before
— это псевдоэлемент, который позволяет вам вставлять контент на страницу из CSS (без необходимости в HTML).Определение в Mozilla
::before
создает псевдоэлемент, который является первым дочерним элементом выбранного элемента для вставки содержимого отличается.::before
будет добавлен в качестве первого дочернего элемента к выбранному элементу, а::after
будет добавлен в качестве последнего дочернего элемента элемента.Синтаксис:
/* Синтаксис CSS3 */
::before/* Синтаксис CSS2 */
:beforeПример:
a::before {
content: "♥";
}Вот несколько распространенных случаев, когда мы применяем
::before
и::after
для вставки содержимого в элементы.Треугольник
Мы можем использовать псевдоэлементы для создания треугольной формы, которая будет использоваться для создания всплывающей подсказки или некоторого специального пользовательского интерфейса из дизайна.
Демонстрация:
Демонстрация треугольникаКод CSS:
Пример CSS для треугольникаВ этом примере я создаю треугольник слева, используя псевдоэлемент
::before
. Вы можете получить образец CSS от Криса Койера, чтобы создать треугольник с других сторон.Breadcrumbs
Я думаю, что этот термин используется в каждой системе, такой как сайты администрирования, CMS, любое веб-приложение, используемое для управления данными.
Демонстрация:
Демонстрация хлебных крошекКод CSS:
Пример CSS для хлебных крошекВ приведенном выше примере кода я добавляю
/
после каждого тега привязки. Для первого якоря я добавлю символ>>
. Затем последний удаляет/
.Цитата
Мы используем как
::before
, так и::after
для вставки символов кавычек. Это будет широко применяться в системах управления контентом или на контентных сайтах.Демонстрация:
Демонстрация цитированияКод CSS:
Пример CSS для цитированияИконки
Очень популярно использование
::before
псевдоэлемент для добавления значка.Демонстрация от Bootstrap 3 Glyphicons:
Bootstrap 3 GlyphiconsЕсли вы используете fontawesome или любые другие пакеты шрифтов, вы увидите аналогичный код, который они применяют
:before
для добавления значка к элементу.Как настроить из собственного вектора SVG (масштабируемая векторная графика) или файлов изображений?
Используйте этот базовый шаблон, а затем добавьте свой собственный код.
Базовый шаблон для создания иконкиДумаю, есть несколько способов настроить свою иконку. Но это основной, который я использовал много раз с тех пор, как начал работать с Zeplin, который позволяет мне загружать иконки в SVG или других форматах.
Подсказки
В этом примере используется
::after
для создания всплывающих подсказок. JavaScript не требуется!Демонстрация:
Демонстрация всплывающих подсказокКод CSS:
Пример CSS для всплывающих подсказокЭтот код использует 2 метода: data-* и attr ().
Флажок Да/Нет
Этот пример я получил от w3school. Затем я использую
::after
, чтобы добавить содержимое в флажок для отображения «ДА» или «НЕТ».Демонстрация:
Демонстрация кнопки ToggleКод CSS:
Пример CSS для ToggleClear float
Иногда нам нужно перемещать содержимое влево или вправо. Затем нам нужен еще один элемент, чтобы очистить поплавок.
В этом случае мы будем использовать
::before
.Демонстрация:
Образец Clear foatКод CSS:
Образец CSS для Clear float
::before
и::after
дают нам много преимуществ для добавления содержимого в HTML без каких-либо новых узлов DOM. Если вы будете использовать его правильно, ваша жизнь будет намного проще.Я знаю, что во многих случаях используются эти два замечательных псевдоэлемента, и буду рад любым отзывам.
Надеюсь, эта статья была вам полезна! Вы можете подписаться на меня на Medium. Я также есть в Твиттере. Не стесняйтесь оставлять любые вопросы в комментариях ниже. Буду рад помочь!
Проверьте исходный код здесь:
angular-76bqce - StackBlitz
Начальный проект для приложений Angular, который экспортируется в интерфейс командной строки Angular
stackblitz.com
[1]: Псевдоэлементы https://developer.mozilla.org/en-US/docs/Web/CSS/Псевдоэлементы
[2]: После псевдоэлемента https://developer.mozilla.org /en-US/docs/Web/CSS/::after
[3]: Перед псевдоэлементом https://developer.mozilla.org/en-US/docs/Web/CSS/::before
[ 4]: треугольник CSS https://css-tricks.com/snippets/css/css-triangle/
Изучайте CSS — лучшие учебные пособия по CSS (2019) | gitconnected
43 лучших учебника по CSS — изучайте CSS бесплатно.
Курсы представляются и голосуются разработчиками, что позволяет вам найти… 9Stories - Better FullStack -Elements — Smashing Magazine
- 8 минут чтения
- CSS, Инструменты, Techniques
- Поделиться в Твиттере, LinkedIn
Об авторе
Марсель Моро — фронтенд-разработчик, работающий в Imarc. Он проживает в штате Мэн, США. Больше о Марсель ↬
В течение многих лет псевдоэлементы верно помогали разработчикам внешнего интерфейса реализовывать творческие проекты. Хотя они по-прежнему занимают важное место, теперь мы можем отказаться от псевдоэлементов в некоторых сценариях благодаря новым свойствам CSS.Согласно спецификации W3C, «псевдоэлемент представляет собой элемент, не присутствующий непосредственно в дереве документа». Они существуют с версии 1 спецификации CSS, когда были введены
::first-letter
и::first-line
. популярный 9В версии 2 были добавлены псевдоэлементы 0003 ::before и::after
— они представляют контент, которого вообще нет в исходном документе. Их можно рассматривать как два дополнительных элемента, которые вы можете «прикрепить» к исходному элементу. Когда фронтенд-разработчики слышат «псевдоэлементы», мы чаще всего думаем о::before
и::after
, поскольку мы используем их различными способами для добавления украшений к нашим элементам.Кроме этих псевдоэлементов есть дополнительные. Они перечислены в спецификации по трем категориям: типографские, яркие и древовидные.
Интересно, что после многих лет веб-разработки я никогда не использовал
::first-line
, но это довольно удобно и хорошо реагирует на изменение размера окна! Проверьте это.См. Pen [`::first-line`](https://codepen.io/smashingmag/pen/gORgXxN) Марселя.
См. Pen::first-line
Марселя.
::selection
— еще один псевдоэлемент, к которому многие обращаются. Когда пользователь выделяет текст, цветом выделения будет выбранный вами цвет.См. Pen [`::selection`](https://codepen.io/smashingmag/pen/rNwjYGz) Марселя.
См. Pen::selection
Марселя.Краткий советПсевдоэлементы использовали одно двоеточие в версиях 1 и 2 спецификации CSS, но в версии 3 использовались два двоеточия. Это отличает их от псевдоклассов, описывающих состояние элемента. Псевдоклассы используют одно двоеточие.
- Используйте два двоеточия для псевдоэлементов (например,
::before
,::after
,:: маркер
).- Используйте одно двоеточие для псевдоклассов (например,
:hover
,:focus
).Псевдоэлементы не всегда нужны
Псевдоэлементы все еще имеют место. Эта статья не «никогда не используйте псевдоэлементы», а скорее «мы больше не должны использовать псевдоэлементы так часто». Мы можем стилизовать ряд популярных элементов пользовательского интерфейса без необходимости использования псевдоэлементов. Меньше полагаясь на псевдоэлементы, мы можем писать меньше CSS, исключать вложенные элементы, игнорировать проблемы контекста стека и забыть о позиционировании.
Еще после прыжка! Продолжить чтение ниже ↓
Взгляните еще раз на надежные методы с новыми свойствами CSS
В течение многих лет мы терпеливо ждали, когда браузеры быстрее примут технологию CSS. Поворотный момент для многих разработчиков интерфейсов наступил, когда некоторые крупные игроки объявили о прекращении поддержки Internet Explorer (IE11):
- Все веб-приложения Microsoft 365 прекратили поддержку IE11 21 августа 2021 года.
- Google Workspace ( Gmail , Calendar , Drive и т. д.) прекратил поддержку IE11 15 марта 2021 года.
Это позволило многим из нас более свободно исследовать новые технологии CSS: режим и другие. Состояние поддержки свойств CSS отличное. А благодаря обновляемым браузерам поддержка ускоряется.
Приведите примеры!
Угловые кнопки
Многие разработчики интерфейсов знакомы с использованием
Угловые кнопки должны поддерживать перенос слов.::before
и::after
псевдоэлементы и правила границ CSS для создания фигур. Для этой цели предназначено множество инструментов-генераторов — этот я добавил в закладки. Эти инструменты помогут вам выбрать форму (часто треугольники), давая вам правильные правила CSS.Эти инструменты спасают жизнь при создании угловых кнопок. Для угловых кнопок они больше не нужны.
Для угловых кнопок с псевдоэлементами может потребоваться больше элементов HTML. (большой превью)Версия псевдоэлемента
Многие из вас, читающие это, привыкли к версии псевдоэлемента:
- Мы используем относительно расположенный элемент-оболочку с большим отступом справа, чтобы приспособиться к нашему углу — это наш
;
- Многие из нас, изучающих технику раздвижных дверей, привыкли вкладывать элемент в цвет фона кнопки;
- Наконец, мы абсолютно позиционируем псевдоэлемент с его граничными правилами в нашем
<кнопка>
заполняет пустое пространство справа — для этого мы используем::before
.Помимо этих шагов, наши стили наведения должны учитывать как наш вложенный элемент, так и псевдоэлемент. Это может показаться вам выполнимым, но чем сложнее становится дизайн наших кнопок, тем больше у нас накладных расходов на стили наведения. Кроме того, в этой версии просто не работают кнопки с переносом слов.
См. Pen [Угол кнопки с псевдоэлементом] (https://codepen.io/smashingmag/pen/xxrgPpj) Марселя.
См. ракурс Pen Button с псевдоэлементом Марселя.Версия без псевдоэлемента
Это намного проще без псевдоэлемента.
- Мы используем один элемент-оболочку — наш
.
- Мы используем свойство
clip-path
, чтобы показывать только те части нашей кнопки, которые нам нужны, используяcalc()
вместе с пользовательским свойством CSS для определения размера нашего угла — эти наборы точек соответствуют верхнему левому, верхнему справа, справа посередине, справа внизу и слева внизу:polygon(0% 0%, calc(100% - var(--angle-width)) 0%, 100% 50%, calc(100% - var(--angle-width)) 100%, 0% 100 %)
В примере с CodePen вы изменяете пользовательское свойство
--angle-width
с2rem
на другое значение, чтобы увидеть, как изменяется угол нашей кнопки соответствующим образом.Наши стили наведения должны учитывать только один элемент — нашу кнопку. Кроме того, кнопки с переносом слов действуют более изящно.
См. Pen [Угол кнопки без псевдоэлемента] (https://codepen.io/smashingmag/pen/PojWOQY) Марселя.
См. угол кнопки пера без псевдоэлемента Марселя.Дополнительные стили угловых кнопок в витрине
Окончательная кодовая ручка витрины содержит дополнительные примеры угловых кнопок. (Большой предварительный просмотр)Посетите финальную витрину, чтобы увидеть, как эти другие стили кнопок стали проще без псевдоэлементов. В частности, псевдоэлементная версия синей кнопки со скошенной кромкой довольно брутальна. Объем общей работы значительно сокращается благодаря
clip-path
.Кнопочные салфетки
Эффект вытирания — популярный вид кнопок. Я включил салфетки слева направо и сверху вниз.
Иногда требуется эффект вытирания.Версия псевдоэлемента
Это может быть достигнуто путем
перехода
преобразования псевдоэлемента.
- Мы абсолютно позиционируем псевдоэлемент
::before
и применяем к нему преобразование: scaleX(0)
, чтобы он не был виден.- Мы также должны явно установить его
transform-origin: 0 0
, чтобы гарантировать, что стирание происходит слева, а не по центру (transform-origin
по умолчанию в центре).- Мы установили
перехода
напреобразование
для плавной джазовой анимации включения/выключения наведения.- Поскольку наш псевдоэлемент абсолютно позиционирован, нам требуется вложенный элемент для хранения текста кнопки,
позиция: относительная
для этого вложенного элемента создает новый контекст стека, поэтому наш текст остается поверх нашего псевдоэлемента стирания.- При наведении мы можем нацелить наш псевдоэлемент и
переход
егоscaleX
теперь будет1 (преобразование: scaleX(1))
.См. Pen [Кнопка стирания с псевдоэлементом] (https://codepen.io/smashingmag/pen/KKqayGW) Марселя.
См. стирание кнопки пера с помощью псевдоэлемента Марселя.No Pseudo-Element Version
Зачем беспокоиться о вложенных элементах, позиционировании псевдоэлементов, контекстах стека и растягивающихся правилах наведения, если нам это не нужно?
Мы можем достичь
linear-gradient()
иbackground-size
, чтобы зафиксировать это.
- Мы даем нашему
фоновый цвет
для его состояния по умолчанию, а также настраиваем
linear-gradient
черезbackground-image
— ноbackground-size
будет0
, поэтому по умолчанию мы ничего не увидим.- При наведении мы переходим от
background-size
к100% 100%
, что дает нам эффект стирания!Помните,
linear-gradient()
использует свойствоbackground-image
, аbackground-image
заменяетbackground-color
, так что это то, что имеет приоритет при наведении.Вот и все. Вложенный элемент не требуется. Хотите вертикальную очистку? Просто измените направление
linear-gradient
и значенияbackground-size
. Я изменил их с помощью пользовательских свойств CSS.См. Pen [Button wipe with NO псевдоэлемент](https://codepen.io/smashingmag/pen/MWoJOVo) Марселя.
См. стирание кнопки пера без псевдоэлемента Марселя.Плитки с наложением цвета экрана
Плитки часто содержат фоновое изображение, наложение цвета и текстовое содержимое.Это распространенный шаблон, в котором полупрозрачный цвет накладывается на плитку/карту. Плитка нашего примера также имеет фоновое изображение. В этом шаблоне часто важно сохранить установленное соотношение сторон, чтобы плитки выглядели одинаково, если в наборе появляется более одной плитки.
Псевдоверсия
Некоторые из тех же вещей вступают в игру с нашей версией псевдоэлемента:
- Мы используем соотношение сторон «padding-trick», установив значение padding-top 60% (соотношение 5:3) для нашего тайла.
- Мы должны расположить наш псевдоэлемент наложения цвета экрана, задав ему 100%
ширины
ивысоты
, чтобы заполнить плитку — мы нацеливаем этот псевдоэлемент при наведении, чтобы изменить егоbackground-color
.- Из-за абсолютного позиционирования псевдоэлемента мы должны использовать вложенный элемент для нашего текстового содержимого, также присвоив ему
position: absolute
, чтобы он отображался над нашим наложением цвета экрана в порядке наложения и чтобы он отображался там, где он должен быть внутри плитки.См. Pen [Наложение цвета на плитку экрана с псевдоэлементом] (https://codepen.io/smashingmag/pen/YzQNEOM) Марселя.
См. наложение цвета экрана Pen Tile с псевдоэлементом Марселя.No Pseudo-Element Version
Это может быть намного проще благодаря свойствам aspect-ratio и background-blend-mode.
Примечание : соотношение сторон
не работает в Safari 14.x, но будет в версии 15.
Тем не менее, на момент написания этой статьи caniuse перечисляет его с более чем 70% глобальной поддержкой.
- «Трюк заполнения» заменяется на
соотношение сторон: 400/240
(здесь мы можем использовать любое значение на основе 5:3).- Мы используем свойства
background-image
иbackground-color
в сочетании сbackground-blend-mode
— просто изменитеbackground-color
нашего элемента плитки при наведении.Background-blend-mode
CSS теперь обеспечивает эффекты, подобные Photoshop.
background-blend-mode
смешиваетbackground-color
сbackground-image
элемента. Любой пользователь Photoshop, читающий это, найдетbackground-blend-mode
напоминающим режимы наложения Photoshop. В отличие отmix-blend-mode
,background-blend-mode
не создает новый контекст наложения! Так что нетz-индекс
черт!См. Pen [Наложение цвета на плитку экрана без псевдоэлемента] (https://codepen.io/smashingmag/pen/mdwRqjN) Марселя.
См. цветное наложение экрана Pen Tile без псевдоэлемента NO от Марселя.
- Полную демонстрационную версию можно найти здесь →
Заключение
Front-end разработка — это увлекательно и быстро. Благодаря новым свойствам CSS мы можем стряхнуть пыль с наших старых методов и придать им новый вид. Это помогает создавать сокращенный и более простой код. Псевдоэлементы полезны, но нам не нужно тянуться к ним так сильно.
Псевдоэлементы CSS — javatpoint
следующий → ← предыдущая
Псевдокласс можно определить как ключевое слово, объединенное с селектором, определяющим особое состояние выбранных элементов. В отличие от псевдоклассов, псевдоэлементы используются для стилизации определенной части элемента, тогда как псевдоклассы используются для стилизации элемента.
Например, псевдоэлемент можно использовать для оформления первой буквы или первой строки элемента. Псевдоэлементы также можно использовать для вставки содержимого после или перед элементом.
Синтаксис
Псевдоэлемент имеет простой синтаксис, который задается следующим образом:
селектор::псевдоэлемент { стоимость имущества; }
В синтаксисе мы использовали двойное двоеточие (::псевдоэлемент) . В CSS3 двойное двоеточие заменило одинарное двоеточие для обозначения псевдоэлементов. Это была попытка W3C провести различие между псевдоэлементами и псевдоклассами. Поэтому рекомендуется использовать нотацию с двойным двоеточием (::псевдоэлемент) вместо использования записи с одним двоеточием (:) .
В CSS1 и CSS2 используется синтаксис с одним двоеточием (:) как для псевдоэлементов, так и для псевдоклассов. Синтаксис с одним двоеточием допустим для псевдоэлементов в CSS1 и CSS2 для обратной совместимости.
Хотя существует несколько псевдоэлементов CSS, мы обсудим некоторые из наиболее часто используемых. Широко используемые псевдоэлементы CSS сведены в следующую таблицу:
псевдоэлемент Описание :: первая буква (: первая буква) Выбирает первую букву текста. :: первая строка (: первая строка) Стиль первой строки текста. ::до (:до) Используется для добавления чего-либо перед содержимым элемента. ::после (:после) Используется для добавления чего-либо после содержимого элемента. :: выбор Используется для выбора области элемента, выбранного пользователем. Давайте обсудим приведенные выше псевдоэлементы вместе с примером.
Псевдоэлемент ::first-letter
Как следует из названия, влияет на первую букву текста. Его можно применять только к элементам блочного уровня. Вместо того, чтобы поддерживать все свойства CSS, он поддерживает некоторые из свойств CSS, которые приведены ниже.
- Свойства цвета (например, цвет)
- Свойства шрифта (например, стиль шрифта, семейство шрифтов, размер шрифта, цвет шрифта и многие другие) .
- Свойства полей (такие как margin-top, margin-right, margin-bottom и margin-left) .
- Свойства границы (например, граница сверху, граница справа, граница снизу, граница слева, цвет границы, ширина границы и многие другие) .
- Свойства заполнения (например, padding-top, padding-right, padding-bottom и padding-left) .
- Свойства фона (такие как background-color, background-repeat, background-image и background-position) .
- Свойства, связанные с текстом (например, text-shadow, text-transform, text-decoration и т. д.) .
- Другие свойства: вертикальное выравнивание (только когда float равно none ') word-spacing, line-height, line-spacing и т. д.
Пример
<голова> <стиль> тело{ выравнивание текста: по центру; } h2:: первая буква { семейство шрифтов: Lucida Calligraphy; размер шрифта: 3 см; красный цвет; тень текста: 5px 8px 9пикс зеленый; } h2{ цвет синий; } стиль> голова> <тело>
Добро пожаловать на сайт javaTpoint.com
Это пример псевдоэлемента ::first-letter.
тело> Протестируйте сейчасВыход
Псевдоэлемент ::first-line
Аналогичен псевдоэлементу ::first-letter , но влияет на всю строку. Он добавляет спецэффекты к первой строке текста. Он поддерживает следующие свойства CSS:
- Свойства цвета (например, цвет)
- Свойства шрифта (например, стиль шрифта, семейство шрифтов, размер шрифта, цвет шрифта и многие другие) .
- Свойства фона (такие как background-color, background-repeat, background-image и background-position) .
- Другие свойства: word-spacing, letter-spacing, line-height, vertical-align, text-transform, text-decoration.
Пример
В этом примере мы увидим использование элемента ::first-line для добавления специальных эффектов к первой строке элемента.
<голова> <стиль> тело{ выравнивание текста: по центру; } h2:: первая строка { семейство шрифтов: Lucida Calligraphy; размер шрифта: 1 см; красный цвет; тень текста: 5px 8px 9px зеленый; } стиль> голова> <тело>
Добро пожаловать на сайт javaTpoint.com. Этот сайт разработан таким образом, чтобы учащиеся могли легко изучать технологии, связанные с информатикой. Сайт javaTpoint.com стремится предоставлять простые и подробные учебные пособия по различным технологиям.
Это пример псевдоэлемента ::first-line.
тело> Протестируйте сейчасВыход
Псевдоэлемент ::before
Это позволяет нам добавить что-то перед содержимым элемента. Он используется для добавления чего-либо перед определенной частью элемента. Как правило, он используется со свойством content .
Мы также можем добавить обычные строки или изображения перед содержимым, используя этот псевдоэлемент.
Пример
<голова> <стиль> тело{ выравнивание текста: по центру; } h2 :: до { content: "'Привет, мир'"; красный цвет; } стиль> голова> <тело>
Добро пожаловать на сайт javaTpoint.com.
Это пример псевдоэлемента ::before.
В первой строке добавлено «Hello World» с помощью псевдоэлемента ::before
тело> Протестируйте сейчасВыход
Псевдоэлемент ::after
Работает аналогично псевдоэлементу ::before , но содержимое вставляется после содержимого элемента. Он используется для добавления чего-либо после определенной части элемента. Как правило, он используется со свойством содержимого.
Это также позволяет нам добавлять обычные строки или изображения после содержимого.
Пример
<голова> <стиль> тело{ выравнивание текста: по центру; } h2 :: после { content: "'Добро пожаловать на javaTpoint.com.'"; красный цвет; } стиль> голова> <тело>
Привет, мир.
Это пример псевдоэлемента ::after.
В первой строке надпись «Добро пожаловать на javaTpoint.com». добавил с помощью псевдоэлемента ::after
тело> Протестируйте сейчасВыход
Псевдоэлемент ::selection
Используется для стилизации части элемента, выбранной пользователем. С ним мы можем использовать следующие свойства CSS:
.
- цвет.
- цвет фона.
- Другие свойства включают курсор, контур, и т. д.
Пример
<голова> <стиль> тело{ выравнивание текста: по центру; } h2 :: выбор { красный цвет; } стиль> голова> <тело>
Привет, мир.
Выберите текст в первой строке, чтобы увидеть эффект.
Это пример псевдоэлемента ::selection.
тело> Протестируйте сейчасВыход
Классы CSS и псевдоэлемент
Псевдоэлементы можно комбинировать с классами CSS для стилизации определенного элемента, имеющего этот класс. Синтаксис объединения классов CSS с псевдоэлементами приведен ниже.
Синтаксис
Можно записать как:
selector.class::псевдоэлемент { стоимость имущества }
Пример
Этот пример повлияет на первую букву тех элементов
, которые имеют
class="example" вместо того, чтобы воздействовать на все элементы.
<голова> <стиль> тело{ выравнивание текста: по центру; } h2. example:: первая буква { красный цвет; размер шрифта: 2 см; семейство шрифтов: Lucida Calligraphy; } стиль> голова> <тело>
Привет, мир.
Добро пожаловать на сайт javaTpoint.com.
Это пример псевдоэлемента с классами CSS.
тело> Протестируйте сейчасВыход
Следующая темаCSS радиальный градиент
← предыдущая следующий →
Псевдоэлемент CSS — TutorialBrain
Псевдоэлемент в CSS стилизует определенную часть элемента. Вы также можете использовать классы CSS с псевдоэлементом.
Например:
Предположим, вы хотите оформить первую букву текста, как показано ниже –Первая буква будет иметь размер 1,5 em. с цветом DodgerBlue
Вы можете использовать псевдоэлемент ::first-letter , чтобы получить результат, как показано выше.
Синтаксис псевдоэлемента
selector::pseudo-element{
property1:value1;
…
…
свойство-n:значение-n;
}Примечание/информация/успех Согласно рекомендации W3C, :: псевдоэлемент рекомендуется вместо : псевдоэлемент 9. 0030 , хотя браузер не выдаст никаких ошибок, если вы используете любой из этих синтаксисов. В соответствии с CSS3 используется двойное двоеточие ( :: ), а в CSS2 используется одно двоеточие ( : )
Например, :
:: first-letter рекомендуется вместо : first-letterСписок важных псевдоэлементов
- ::first-letter
- ::first-line
- ::до
- ::после
- ::сигнал
- ::выбор
::first-letter псевдоэлемент
::first-letter устанавливает особый стиль для первой буквы текста.
Синтаксис ::first-letter
selector::first:letter {
property1:value1;
…
…
свойство-n:значение-n;
}Примечание/информация/успех ::first-letter поддерживает не все элементы. Это поддерживает -
Цвет связанные свойства, такие как цвет . Background связанные свойства, такие как background-color , background-image , background-position , background-repeat и т. д. Font связанные свойства, такие как font , font-color , font-style , font-size , font-weight , font-family , font-variant , font-stretch и т. д. Все свойства, связанные с текстом , такие как text-decoration , text-shadow , text-transform и т. д. Свойства Box Model , такие как margin , border , padding и т. д. Маржа связанных свойств, таких как поле сверху , поле справа , поле внизу и поле слева . Border related properties like border-top , border-right , border-bottom and border-left , border-color , border-width , border-style , border-image и border-radius . Padding связанные свойства, такие как padding-top , заполнение справа , заполнение снизу и заполнение слева . Другие свойства, такие как word-spacing , line-spacing , line-height , vertical-align , word-spacing и т. д. Пример псевдоэлемента ::first-letter
h4:first-letter { семейство шрифтов: алжирский; размер шрифта: 3em; цвет: ДоджерСиний; }::Псевдоэлемент первой строки
::first-line устанавливает определенный стиль для первой строки текста. Это работает только для элементов блочного уровня.
Примечание/Информация/Успех Будьте осторожны при использовании псевдоэлементов. Это не поддерживает все элементы. Здесь разрешены следующие свойства:
цвет свойства, такие как цвет фон свойства, такие как фоновый цвет , фоновое изображение , фоновое положение и др. Font родственные свойства, такие как font , font-color , font-style , font-size , font-weight , font-weight , font-family 4 , font-family 4, 9,905
text связанные свойства, такие как text-decoration , text-shadow , text-transform и т. д. Другие свойства, такие как word-spacing , line-spacing , line-height , вертикальное выравнивание , интервал между словами и т. д. Синтаксис ::first-line
selector::first:line {
property1:value1;
…
…
свойство-n:значение-n;
}Примечание/информация/успех justify-content:space-around и justify-content:space-evenly выглядит похоже, но нужно присмотреться, чтобы понять его правильно.
Пример псевдоэлемента ::first-line
p:first-line { text-shadow: 4px 0.9px 13px ярко-розовый; размер шрифта: 1.5em; }::before Псевдо-элемент
Предположим, вы хотите добавить стиль до определенной части элемента, тогда вы можете использовать ::before Псевдоселектор.
Часто используется с элементом содержимого.
Синтаксис ::before
selector::before {
свойство1:значение1;
…
…
свойство-n:значение-n;
}Пример псевдоэлемента ::before
li::before { содержание: " > "; }::after псевдоэлемент
Предположим, вы хотите добавить стиль после определенной части элемента, тогда вы можете использовать ::after псевдоселектор.
Синтаксис ::after
selector::after {
property1:value1;
…
…
свойство-n:значение-n;
}Пример псевдоэлемента ::after
li::after { содержание: " * "; }::selection Псевдоэлемент
Если вы хотите установить стиль для части элемента только тогда, когда пользователь выбирает этот элемент, вы можете использовать ::selection псевдоэлемент.
Синтаксис ::selection
selector::selection {
property1:value1;
…
…
свойство-n:значение-n;
}При выборе текста из списка ниже цвет текста изменится на ярко-розовый.
- Манго
- Виноград
- Яблоко
- Банан
Пример псевдоэлемента ::selection
li::selection { цвет: ярко-розовый; }Подписаться на @tutorial_brain
Псевдоэлемент CSS ::cue
WebVTT (формат текстовых дорожек веб-видео) отображает дорожки на основе времени. Эти временные дорожки в основном используются в файлах VTT, которые эквивалентны подписям к видео, которые отображают субтитры и контент в зависимости от временных рамок:
Например:
Ниже приведен пример файла .VTT 9.0007
ВЕБВТТ 00:00.890 --> 00:05.850 Привет! Добро пожаловать в TutorialBrain. 00:05.870 --> 00:14.010 Изучите псевдоэлементы CSS правильно 00:14.02 --> 00:15.02 Спасибо.В этом файле .VTT используется элемент ::cue .
Основная цель файла .VTT — добавить титры или субтитры к видео.
В некоторых случаях вы можете создать файл .VTT для видео, который будет генерировать титры для вашего видео.
Теперь псевдоэлементы CSS находят файлы WebVTT в выбранных элементах и применяют к ним стили.
Вы можете применить цвет фона, цвет текста, тень текста, высоту строки, детали шрифта и т. д., используя свойство ::cue .
Синтаксис ::cue
::cue( селектор) {
property1:value1;
…
…
свойство-n:значение-n;
}или
::cue {
property1:value1;
…
…
свойство-n:значение-n;
}Фейсбук Твиттер Гугл плюс
Псевдоэлементы CSS Tailwind
Я только узнал, что Tailwind недавно добавил возможность стилизации псевдоэлементов. С момента появления Tailwind JIT оказалось, что мы также можем использовать псевдоэлементы в Tailwind!
Давайте посмотрим, как это работает и что мы можем с ними сделать.
Что такое псевдоэлементы
Если вы не знаете о псевдоэлементах, они похожи на псевдоклассы, такие как
:hover
,:first
и т. д.Разница в том, что
псевдоклассы
являются существующими элементами, которые стилизуются по-разному. Что касается того, гдепсевдоэлемента
являются новыми элементами. Они могут дать нам суперспособность добавлять в DOM новые стилизованные элементы.Другой способ идентифицировать
псевдоэлемента
— всегда начинать с двух::
, где классы используют только один:
.Давайте посмотрим на псевдоэлементы и на то, как их можно использовать в Tailwind CSS.
Псевдоэлемент первой строки CSS Tailwind
Этот псевдоэлемент может манипулировать первой строкой определенного предложения.
Допустим, мы хотим сделать первую строку статьи синей, чтобы она выделялась больше. Пока мы на этом, мы могли бы также преобразовать первую строку в верхний регистр.
<р > Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut Labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco Laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidat non proident, sunt in culpa qui officia deserunt mollit anim id est Laborum.Это приведет к следующему:
См. перо Без названия Крис Бонгерс (@rebelchris) на КодПене.
Попутный ветер Псевдоэлемент первой буквы CSS
Мы можем ориентироваться на первую букву, как
селектор первой строки
. Вы часто видите это в книгах старой школы, дающих хороший эффект.Мне нравится этот эффект, именно так вы используете его в Tailwind CSS.
<р > Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut Labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco Laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidat non proident, sunt in culpa qui officia deserunt mollit anim id est Laborum.Результат первой буквы будет выглядеть так:
См. перо Первая строка псевдоэлемента Tailwind CSS от Chris Bongers (@rebelchris) на КодПене.
Tailwind CSS перед псевдоэлементом
Псевдоэлемент before идеально подходит для добавления нового элемента в дом, который можно использовать для добавления приятных эффектов к определенным элементам.
Давайте попробуем создать забавный фон для изображения. Мы хотим, чтобы изображение показывалось, но на фоне должен быть div другого цвета с углом.
<дел > дел>Что приведет к следующему:
См. перо Первое письмо псевдоэлемента Tailwind CSS от Chris Bongers (@rebelchris) на КодПене.
Tailwind CSS перед псевдоэлементом
Элемент after можно использовать так же, как и элемент before. Давайте попробуем что-нибудь еще для этого.
У нас часто бывают формы с обязательными полями. Добавим красный
*
для обязательных полей.<метка> <промежуток > Эл. адрес <ввод тип = "электронная почта" имя = "электронная почта" placeholder="[электронная почта защищена]" /> метка>В результате получилось это удивительное произведение:
См. перо Псевдоэлемент Tailwind CSS до Криса Бонгерса (@rebelchris) на КодПене.
Псевдоэлемент выбора CSS Tailwind
Я уверен, что вы видели это раньше, вы выбираете фрагмент текста, и цвет другой.
Это делается с помощью псевдоэлемента
selection
.Выглядит так:
<р> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut Labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco Laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidat non proident, sunt in culpa qui officia deserunt mollit anim id est Laborum.Попробуйте, выбрав текст:
См. перо Псевдоэлемент Tailwind CSS после Криса Бонгерса (@rebelchris) на КодПене.
Заключение
Теперь, когда мы можем использовать эти селекторы в Tailwind, почти нет необходимости в каком-либо пользовательском CSS при использовании Tailwind.
Я в восторге, что теперь они так хорошо поддерживаются, и я уверен, что это изменит правила игры.
Если вы хотите узнать больше, официальная документация Tailwind — это всегда кладезь информации.
Благодарим за прочтение и подключаемся!
Спасибо, что читаете мой блог. Не стесняйтесь подписаться на мою рассылку по электронной почте и подключиться к Facebook или Twitter
🛠 Редактировать на GitHub
Псевдоэлементы в CSS — Темы масштабирования
Обзор
Псевдоэлементы в CSS используются для стилизации определенной части элемента HTML. Псевдоэлементы действуют так, как будто добавляется новый HTML, а не применяются стили к существующему элементу.
Сфера применения статьи
- В этой статье мы рассмотрим псевдоэлементы CSS с их синтаксисом и примерами.
- Мы также разберемся со списком псевдоэлементов в CSS с синтаксисом и примерами для каждого псевдоэлемента.
Что такое псевдоэлементы в CSS?
В CSS мы используем селекторы для стилизации определенных элементов HTML, таких как стилизация всех элементов p, стилизация всех элементов с заголовком класса и т. д. Псевдоэлементы — это ключевые слова, добавляемые к селекторам CSS, которые применяют стили к определенной части элемента HTML.
Пример
- ::first-letter - Стиль первой буквы содержимого всех элементов p.
- ::first-line - Стиль первой строки содержимого всех элементов p.
В селекторе можно использовать только один псевдоэлемент в CSS. Он должен появиться после двойного цвета (::) селектора CSS.
Синтаксис псевдоэлементов
Псевдоэлемент в CSS обозначается двойным двоеточием (::). Тем не менее, большинство браузеров поддерживают одиночное двоеточие (:) для псевдоэлементов.
Общий синтаксис селектора псевдоэлемента:
selector::pseudo-element { стоимость имущества; }selector
Шаблон для выбора элементов HTML, которые мы хотим стилизовать.
Примеры :
- p выбирает все элементы абзаца
- .title выбирает все элементы с заголовком класса.
- #title выбирает элемент с идентификатором title.
псевдоэлемент
В селектор CSS добавлено ключевое слово, которое позволяет нам стилизовать определенные части выбранных элементов HTML.
Пример :
- перед вставляет указанное содержимое перед выбранными элементами.
- after вставляет указанное содержимое после выбранных элементов.
Пример
В этом примере ::before вставляет текст ABC перед каждым элементом абзаца (p). Мы сообщаем, какой контент нужно вставить, используя CSS-свойство content.
р:: перед { содержание: «Азбука»; }Список псевдоэлементов в CSS
CSS предоставляет список псевдоэлементов, используемых для оформления определенных частей элемента HTML. В этой статье мы рассмотрим некоторые из наиболее часто используемых псевдоэлементов в CSS.
::before
Оператор ::before создает псевдоэлемент, используемый для вставки некоторого содержимого перед выбранным элементом HTML . Свойство содержимого используется для вставки желаемого содержимого перед выбранным элементом HTML. Вставленный контент является встроенным по умолчанию.
Содержимое, добавленное с помощью свойства content, может быть оформлено с помощью других свойств CSS, таких как цвет фона, цвет, толщина шрифта и т. д.
Синтаксис
selector::before { стоимость имущества; }Пример
В этом примере мы создадим элемент абзаца p и добавим некоторый контент. Мы вставляем некоторый контент перед элементом абзаца, используя селектор ::before.
HTML
<голова>Псевдоэлементы в CSS голова> <тело>Здравствуйте!
тело>CSS
корпус { цвет фона: #1e1e1e; } п { семейство шрифтов: Arial; вес шрифта: полужирный; размер шрифта: 100 пикселей; выравнивание текста: по центру; белый цвет; положение: родственник; верх: 40%; } р :: до { контент: "🖐️"; поле справа: 20px; }Вывод
Смайлик 🖐️ добавляется перед содержимым элемента абзаца. Мы также устанавливаем правое поле содержимого селектора ::before с помощью свойства margin-right.
::after
::after создает псевдоэлемент, используемый для вставки некоторого содержимого после выбранного HTML-элемента . Свойство содержимого используется для вставки желаемого содержимого после выбранного элемента HTML. Вставленный контент является встроенным по умолчанию.
Синтаксис
selector::after { стоимость имущества; }Пример
В этом примере мы создадим элемент абзаца p и добавим некоторый контент. Мы вставляем некоторый контент после элемента абзаца, используя ::afterselector.
HTML
<голова>Псевдоэлементы в CSS голова> <тело>Здравствуйте!
тело>CSS
корпус { цвет фона: #1e1e1e; } п { семейство шрифтов: Arial; вес шрифта: полужирный; размер шрифта: 100 пикселей; выравнивание текста: по центру; белый цвет; положение: родственник; верх: 40%; } р :: после { контент: "🖐️"; поле слева: 20px; }Вывод
Смайлик 🖐️ добавляется после содержимого элемента абзаца. Мы также устанавливаем левое поле содержимого селектора ::after с помощью свойства margin-left.
::first-letter
Псевдоэлемент ::first-letter в CSS используется для применения стилей к первой букве первой строки выбранного блочного элемента HTML .
Элемент уровня блока — это элемент HTML, который начинается с новой строки на веб-странице и расширяет всю ширину доступного горизонтального пространства своего родительского элемента.
Псевдоэлемент ::first-letter работает только в том случае, если выбранному элементу уровня блока не предшествует другое содержимое, такое как изображения, встроенные таблицы и т. д.
С псевдоэлементом ::first-letter можно использовать только часть свойств CSS.
- Все свойства фона , такие как цвет фона, фоновое изображение и т. д.
- Все свойства границы , такие как граница, цвет границы, стиль границы и т. д.
- Все свойства шрифта , такие как стиль шрифта, вес шрифта и т. д.
- Все свойства поля , такие как поле, поле слева, поле справа и т. д.
- Все padding свойства, такие как padding, padding-left, padding-right и т. д.
- Другие свойства, такие как цвет, высота строки, интервал между буквами и т. д.
Синтаксис
selector::first-letter { стоимость имущества; }Пример
В этом примере мы стилизуем первую букву первой строки элемента абзаца, используя селектор ::first-letter.
HTML
<голова>Псевдоэлементы в CSS голова> <тело>Здравствуйте!
тело>CSS
корпус { цвет фона: #1e1e1e; } п { семейство шрифтов: Arial; вес шрифта: полужирный; размер шрифта: 100 пикселей; выравнивание текста: по центру; белый цвет; положение: родственник; верх: 40%; } p:: первая буква { размер шрифта: 150 пикселей; цвет: #ffc007; }Вывод
Мы изменили размер и цвет первой буквы первой строки элемента абзаца с помощью селектора ::first-letter.
::first-line
Псевдоэлемент ::first-line в CSS используется для применения стиля к первой строке выбранного блочного элемента HTML . Длина первой строки зависит от многих факторов, таких как ширина элемента, ширина документа и размер шрифта.
С псевдоэлементом ::first-line можно использовать только часть свойств CSS.
- Все свойства фона , такие как фон, цвет фона и т. д.
- Все свойства шрифта , такие как стиль шрифта, вес шрифта и т. д.
- Другие свойства, такие как цвет, межбуквенный интервал, оформление текста и т. д.
Синтаксис
selector::first-line { стоимость имущества; }Пример В этом примере мы стилизуем первую строку элемента абзаца с помощью селектора ::first-line.
HTML
<голова>Псевдоэлементы в CSS голова> <тело>Здравствуйте!. ЖЕЛАЕМ ВАМ ПРЕКРАСНОГО ДНЯ
тело>CSS
корпус { цвет фона: #1e1e1e; } п { семейство шрифтов: Arial; вес шрифта: полужирный; размер шрифта: 100 пикселей; выравнивание текста: по центру; белый цвет; положение: родственник; верх: 40%; } p:: первая строка { цвет: #ffc007; }Вывод
Мы изменили цвет первой строки элемента абзаца с помощью селектора ::first-line.
::selection
Псевдоэлемент ::selection в CSS используется для применения стилей к части HTML-документа, выделенной пользователем путем щелчка и перетаскивания по тексту.
Вместе с ::selection можно использовать только указанные ниже свойства CSS.
- цвет фона
- цвет
- цвет обводки, цвет заливки и ширина обводки
- text-decoration и связанные с ним свойства
- тень текста
Синтаксис
selector::selection { стоимость имущества; }Пример В этом примере мы создали элемент абзаца и изменили цвет выделения на rebeccapurple , используя псевдоэлемент ::selection.
HTML
<голова>Псевдоэлементы в CSS голова> <тело>Здравствуйте!. ЖЕЛАЕМ ВАМ ПРЕКРАСНОГО ДНЯ
тело>CSS
корпус { цвет фона: #1e1e1e; } п { семейство шрифтов: Arial; вес шрифта: полужирный; размер шрифта: 60; выравнивание текста: по центру; белый цвет; положение: родственник; верх: 40%; } р :: выбор { фоновый цвет: rebeccapurple; }Вывод
Мы изменили цвет выделения для тега абзаца, используя псевдоэлемент ::selection.
::cue
Псевдоэлемент ::cue в CSS позволяет нам стилизовать WebVTT подсказки (т.е.) субтитры для мультимедиа.
Примечание. Формат текстовых дорожек веб-видео (WebVTT) — это формат для отображения синхронизированных текстовых дорожек (таких как субтитры или титры) с использованием элемента
Синтаксис
selector1::cue(selector2) { стоимость имущества; }Пример В этом примере мы добавляем элемент видео и оформляем подписи с помощью псевдоэлемента cue.
HTML
<голова>Псевдоэлементы CSS голова> <тело> <управление видео> <источник src="abc.mp4" тип="видео/mp4"> видео> тело>CSS
video::cue { цвет фона: черный; белый цвет; } видео :: реплика (б) { красный цвет; }Выход Мы устанавливаем черный цвет фона и белый цвет шрифта для титров в видео с помощью селектора video::cue. Мы устанавливаем красный цвет для полужирного текста (b) с помощью video::cue(b).
::placeholder
Псевдоэлемент ::placeholder в CSS стилизует замещающие тексты ввода или элемента textarea. Только подмножество свойств CSS, которые применяются к псевдоэлементу ::first-line, можно использовать с ::placeholder.
Синтаксис
селектор::заполнитель { стоимость имущества; }Пример В этом примере мы создали элемент ввода и стилизовали его текст-заполнитель с помощью селектора :placeholder.
HTML
<голова>Псевдоэлементы в CSS голова> <тело> тело>CSS
корпус { цвет фона: #1e1e1e; } вход { поле: 0px авто; дисплей: блок; положение: родственник; верх: 40%; размер шрифта: 50px; цвет фона: #1e1e1e; отступ: 20px 25px; радиус границы: 20px; граница: сплошная 1px #ffc007; } ввод:: заполнитель { цвет: #ffc007; непрозрачность: 0,6; }Вывод
Мы изменили цвет заполнителя на #ffc007 и непрозрачность до 0,6 с помощью селектора ::placeholder.