5 приемов CSS3 с псевдоэлементами ::before и ::after

Большинство людей считает, что большой разницы между псевдоклассами и CSS active нет. Но одно различие между ними все-таки существует.

Мы все знаем, что эти классы и элементы используются как часть CSS3. Данные псевдоэлементы были определены в CSS3.

Разница между псевдоклассами и псевдоэлементами

Псевдокласс: Используется как селектор для элементов, которые нельзя задать с помощью простых селекторов. А также эффекты CSS, которые не могут быть заданы с помощью конкретных селекторов.

Например, :hover, :active

Псевдоэлемент: Используется для создания новых элементов, которые не существуют в документе, они управляются как обычный селектор.

Например, ::after, ::before

Для псевдоклассов мы используем одно двоеточие (:), а для псевдоэлементов - двойное (::), которое является частью синтаксиса CSS3. Браузеры поддерживают оба типа синтаксиса, но в IE (ниже 9 версии) не поддерживается формат двойного двоеточия (::).

Важным свойством псевдоэлементов hover active CSS является content: “ ”.

Значения свойства content:

content: ""
content: "любое конкретное значение"

Теперь рассмотрим приемы работы с псевдоэлементами.

Метод 1: Псевдоэлементы со шрифтом Awesome

Согласно последним тенденциям веб-дизайна, большинство сайтов используют Font Awesome для создания шрифтов иконок, а не изображения. Что увеличивает скорость загрузки сайта.

Пример:

Код HTML:

  • Lorem Ipsum is simply dummy text of the printing and typesetting industry.

Код CSS:

ul li::before            { content: "\f054"; font-family: FontAwesome;}

Теперь посмотрите на рисунок, приведенный ниже.

Результат:

screenshot-1-1

Метод 2: Псевдоэлементы с фоном

Вы когда-нибудь пробовали задать фоновое изображение для какого-нибудь элемента, используя li active CSS? Если нет, тогда посмотрите приведенный ниже код.

Пример:

Код HTML:

I have the background Image

Код CSS:

h2::after     { width: 100%; height: 23px; content: ""; background: url("../images/separator.png") no-repeat center center; display: block;}

Посмотрите на рисунок, приведенный ниже.

Результат:

screenshot-2-1

Метод 3: Псевдоэлементы с содержимым

Это самый интересный и увлекательный прием. Иногда возникает ситуация, когда нужно добавить текст в любой блок, и мы не можем этого сделать. Для этой проблемы есть решение.

Пример:

Код HTML:

<p>This is an example of Pseudo </p>

Код CSS:

p::after     { content: "Elements"; display: inline-block;}

Результат:

screenshot-3

Метод 4: Псевдоэлементы с незаданным смещением

Что произойдет, если указать относительное смещение для двух блоков? Это даст ужасные результаты. Некоторые браузеры являются достаточно интеллектуальными, чтобы игнорировать такие ошибки. Но многие этого не делают:

screenshot-4

Пример c hover active CSS:

Код HTML:

<div class=”container”>
    <div class=”left”>This is an example</div>
    <div class=”right”>This is an example</div>
</div>

Код CSS active:

.container::after,
.container::before        { content: ""; display: block;}
.container::after         { clear: both;}
.left                     { margin-right: 15px; padding: 25px; width: 60%; float: left; background: #2a2a2a; color: #fff; text-align: center; min-height: 95px;}
.right                    { padding: 25px; width: 25%; float: left; background: #2a2a2a; color: #fff; text-align: center;}

Вот окончательный результат после применения явного свойства с использованием псевдоэлементов:

Результат:

screenshot-5

Метод 5: Псевдоэлементы с наложением цвета при наведении

Одна из последних тенденций в графическом дизайне - эффекта наложения цвета при наведении. Для этого можно использовать псевдоэлементы:

screenshot-6

Пример:

Код HTML:

<ul>
   <li>
      <img alt="Image" src="images/thumb.jpeg">
      <p>Lorem Ipsum</p>
   </li>
   <li>
     <img alt="Image" src="images/thumb.jpeg">
     <p>Lorem Ipsum</p>
   </li>
</ul>

Код li active CSS:

ul li                { width: 49%; padding: 0 5px; display: inline-block; text-align: center; position: relative;}
ul li img            { max-width: 100%; height: auto;}
ul li p              { margin: 0; padding: 20px; background: #ffffff;}
ul li::after         { height: 100%; content: ""; background: rgba(0,0,0,0.8); position: absolute; top: 0; left: 5px; right: 5px; opacity: 0;}
ul li:hover::after,
ul li:hover::before  { opacity: 1; cursor: pointer;}
ul li::before        { content: "Hover Text"; position: absolute; top: calc(50% - 12px); left: calc(50% - 40px); color: #ffffff; opacity: 0; z-index: 10;}

Результат:

screenshot-7

Теперь вы сможете применить описанные в статье приемы работы с hover active CSS в своих проектах.

Перевод статьи «5 CSS3 TRICKS WITH PSEUDO ELEMENTS BEFORE AND AFTER» дружной командой проекта Сайтостроение от А до Я.

07 июля 2017 в 13:54
Материалы по теме
{"url":"http://www.fastvps.ru/", "src":"/images/advbanners/fastvps.png", "alt":"Хостинг Fastvps.ru. Наш выбор!"}
Заработок