Здравствуйте, дорогие друзья!
Сегодня разберём как добавить псевдоэлемнты before и after в CSS. У вас когда-нибудь возникала необходимость добавить дополнительный элемент на сайте, но вы без понятия где искать фрагмент кода, в котором нужно дописать HTML код чтобы этот элемент появился? Думаю что да и не раз, а если не возникала, то обязательно возникнет.
Навигация по статье:
В такой ситуации на выручку приходят псевдоэлементы before и after, благодаря которым, мы можем при помощи CSS добавлять на сайт элементы вёрстки. Конечно, сложный блок или таблицу вы таким образом не добавите, а вот какой то заголовок, надпись, знак, иконку или блок с изображением – это пожалуйста!
Как работать с псевдоэлементом before в CSS?
Before позволяет нам добавить свой блок перед любым элементом на вашем сайте. Для того чтобы это сделать нам нужно:
- 1.Определяем класс или идентификатор элемента, перед которым мы хотим добавить свой блок. Как это делать показано в этой статье.
- 2.Подключаемся к сайту через FTP или заходим в файловый менеджер на хостинге.
В этой статье я рассказывала как редактировать файлы сайта сразу на хостинге при помощи Notepad++ «Редактирование файлов сайта в Notepad++»
- 3.Открываем CSS файл, в котором прописаны стили сайта. Для сайтов на CMS этот файл находится в папке с активным шаблоном и может называться style.css, stylesheet.css, main.css в зависимости от CMS.
- 4.В самом конце этого файла пишем код:
123.entry-meta::before {content:'Привет!';}Вместо .entry-meta указываете класс или идентификатор своего элемента.
Внутри css свойства content в кавычках вы можете указать свой текст или какой-то символ.Примеры символов и их коды я показывала в этой статье: «Таблица символов utf 8 для вставки иконок» - 5.Так же мы можем задать для нашего псевдоэлемента следующие CSS свойства:
123456789height:20px; /*высота псевдоэлемента*/color:#fff; /*цвет текста*/background:#2F73B6; /*цвет фона псевдоэлемента*/border:1px solid #000; /*рамка*/font-size:16px; /*размер шрифта*/padding:10px; /*внутренний отступ псевдоэлемента*/display:block;/*превращаем в блочный элемент*/text-align:left;/*выравнивание текста*/ и другие CSS свойства.width:100%; /*ширина псевдоэлемента*/
- 6.Сохраняем изменения в файле и смотрим что получилось.
Как работать с псевдоэлементом after в CSS?
Псевдоэлемент after позволяет добавить произвольный контент в конце указанного элемента.
Алгоритм работы с ним абсолютно такой же как и с before. Разница заключается лишь в том, что он будет добавлять блок не перед, а в конце элемента класс или идентификатор которого вы укажете в CSS файле.
Например, добавим изображение после блока с идентификатором #content
Полноценную картинку через тег <img> мы таким образом не вставим, поэтому будем задавать её через фон.
- 1.Подготавливаем изображение нужного размера и загружаем его на хостинг в папку с картинками вашего шаблона.
Я для этой цели использую FTP клиент FileZilla. Как с ним работать я рассказывала в этой статье.
- 2.Теперь в самом конце CSS файла пишем код:
123456#content::after {content:'';display: block; /*делаем элемент блочный*/height:100px; /*задаём высоту*/background: url(images/bottom-image1.png) no-repeat; /*указываем загруженную картинку в качестве фона псевдоэлемента*/}
В результате в конце указанного блока у нас добавится новый блок с изображением.
Особенности псевдоэлементов before и after
- 1.Псевдоэлементы должны указываться сразу после селектора через двойное двоеточие без пробела, как показано в примерах выше. Однако допускается и использование одинарного двоеточия.
1.block-class:before - 2.Псевдоэлемет является строчным элементом, поэтому если в CSS свойстве content ничего не указано то его ширина по умолчанию будет равна нулю. Так же для строчных элементов не применяется вертикальные отступы margin. Чтобы они начали работать и элемент стал на всю ширину ему нужно дописать CSS свойство display:block;
- 3.Вы можете использовать только один псевдоэлемент на селектор. То есть нельзя использовать сразу 2 псевдоэлемента для одного блока.
Запись .block-class::before::after или #content::first-line::after будет неправильной. - 4.Кроме псевдоэлементов ::before и ::after существуют и другие, такие как ::selection, ::first-line, ::first-letter, о которых я расскажу в одной из следующих статей.
Надеюсь что помогла вам разобраться с before и after если у вас возникнут вопросы или вам есть что сказать – оставляйте комментарии!
Спасибо что посетили мой сайт!
С уважением Юлия Гусарь
Спасибо Юлия!
И Вам спасибо!
Очень доступно и понятно всё поясняется. Эти псевдоэлементы часто встречаются, а понять их не так уж просто.
Спасибо, Юрий!