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


Вы, наверное, заметили, как часто в своих уроках я использую эти два псевдо-элемента. Почему они мне нравятся? Потому что их так удобно использовать, что даже не надо добавлять дополнительные HTML элементы. Однако данная статья посвящена не преимуществам псевдо-элементов. Данная статья посвящена тому, чтобы раз и навсегда разъяснить все непонятки, касающиеся синтаксиса псевдо-элементов. Псевдо-что? Псевдо-элементы так называются, потому что они не являются настоящими HTML элементами. Например, в HTML нет тегов before и after, однако в CSS вы можете применить стили к элементам :before и :after. Одно или два двоеточия? Нет никакой разницы между :before и ::before или между :after и ::after. Синтаксис с двумя двоеточиями характерен для CSS3. На http://www.w3.org/TR/css3-selectors/#pseudo-elements есть такой абзац: Этот знак (::) введен для того, чтобы отличить псевдо-классы от псевдо-элементов. Для совместимости с уже существующими таблицами стилей псевдо-элементы в CSS 1 и 2 также возможно задавать с одним двоеточием (в частности, :first-line, :first-letter, :before и :after). Резюмируем IE 7 и более ранние версии не поддерживают перечисленные псевдо-элементы. Но зато IE 8 поддерживает, и это веская (и единственная) причина использовать синтаксис с одним двоеточием. Важно! Пожалуйста, не забывайте, что все эти разговоры об одном или двух двоеточиях касаются только псевдо-элементов, а не псевдо-классов. Как вы пишите? Пишите в комментариях о том, какой синтаксис используете именно вы, и из каких соображений.