Главная/ Инсайты: аналитика, мнения и тренды веб-разработки/ Синтаксис псевдоэлементов :after и :before

Синтаксис псевдоэлементов :after и :before

Синтаксис псевдоэлементов :after и :before Дата публикации: 08.08.2011 ...

Дата публикации: 08.08.2011

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

Цель данной статьи выяснить некоторые распространённые заблуждения по поводу псевдоэлементов :after и :before.

синтаксис  :after и :before

Псевдо-что?

Псевдоэлементы называются именно так, потому что они не являются настоящими HTML-элементами. То есть, нет HTML-тегов под названием before или after, но используя CSS, мы можем применить стили к определенному элементу при помощи :before или:after.

Синтаксис одинарного/двойного двоеточия

Нет никакой разницы между :before и ::before или между :after и ::after. Использование двойного двоеточия для псевдоэлементов это просто «новый путь» CSS3.

«::&raquo — это обозначение вводится, чтобы указать разницу между псевдоклассами и псевдоэлементами. Для сохранения совместимости с текущими таблицами стилей пользовательские агенты должны также понимать и предыдущее обозначение «:&raquo для псевдоэлементов в CSS 1 и 2 уровней (а именно, :first-line, :first-letter, :before and :after).

Смотрим спецификацию — https://www.w3.org/TR/selectors-3/#pseudo-elements

Резюме

В Internet Explorer 7 и более старых версиях указанные псевдоэлементы не поддерживаются. Но, к моему удивлению, уже IE8 как раз их поддерживает. И я бы сказал, что это хорошая (и единственная) причина использовать одинарное двоеточие.

update 18.10.11 by Almaz В ИЕ8 псевдоэлементы ограничены относительно других браузеров. Например, по :hover на псевдоэлементы в ИЕ8 не срабатывают display, visibility, background-position. А, к примеру, opacity не работает на псевдоэлементах в этом же браузере в принципе. Потому пользоваться нужно осторожно и внимательно тестировать.

Важно!

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

По теме:

Смотрите также в этом разделе

Смежные материалы, которые могут быть вам полезны

  • 10 причин, по которым Flash по-прежнему остается популярной платформой для разработки игр
  • Apps vs. Web — выбор между веб и нативным приложением
  • Ben the bodyguard — интересный пример
  • Boilerplate или Bootstrap – что выбирать при создании проекта?
  • Google и Arcade Fire: как соединить технологии и искусство
  • Mac vs PC. Часть 2.
  • Tron — эффектный комикс на HTML5
  • Windows 7 глазами пользователя
  • Windows и Mac о Chrome OS
  • Будущее началось
  • Взгляд одного пользователя на современные браузеры
  • Война браузеров в картинках
  • Волшебный фон на CSS
  • Галерея на чистом CSS
  • Если бы IT-компании делали автомобили
  • Интервью: Лидеры мировой индустрии онлайн игр об HTML5, Flash и своих планах на будущее
  • Интервью: Марчин Вичери — создатель Google Pacman Logo, HTML5 Slide Deck и других интересных вещей
  • Интернет и соц сети
  • Как делаются сайты (юмор)
  • Как написать хороший код
  • Как происходит разработка сайта — бэкенд-фреймворки (часть 4)
  • Как происходит разработка сайта (часть 3) Фронтенд-фреймворки
  • Как улучшить кэширование в браузере?
  • Какая она — реальная жизнь айтишника
  • Комикс «Социальная сеть в Раю»
  • Многоуровневый cuSel. Быть или не быть?
  • На пенсии (комикс)
  • Наглядное пояснение значений CSS свойства vertical-align
  • Нескучные HTML формы
  • Нестандартный textarea: в поисках решения
  • Перевод интервью с Эриком Майером (Eric Meyer)
  • Песня о CSS3
  • Погружение в HTML5
  • Почему появился HTML5
  • Разработка сайта (часть 1)
  • Разработка сайта (часть 2)
  • Реклама противоядия для трудоголиков или что такое подработка
  • Современный подход к веб-стандартам
  • Топ 5 ошибок массивных CSS