2013-12-10 4 views
5

Я работаю с css, и я пытаюсь добавить элемент «до» моего div как стрелу? Есть ли способ для этого? Я пытаюсь псевдо: раньше, но их три (:: before (2): before и :: before). Они заставляют меня смущать, так в чем их разница?Css псевдоэлемент :: before (2); : before and :: before

+1

':: before' является новой реализацией старого': before' - это было различать разницу между псевдо-элементами (: :) и псевдоклассы (:). Сказав это, IE 8 принимает только «: before», а не новый синтаксис, в то время как новые браузеры принимают оба, поэтому лучше использовать старый синтаксис, если вы хотите улучшить соответствие. У меня нет ** идеи о том, что ':: before (2)' есть, я никогда не видел этого раньше. – Ming

+0

Спасибо за ответ! – HICURIN

+0

Это выглядит как ':: before (2)' для нескольких псевдоэлементов ':: before': http://www.w3.org/TR/css3-content/#inserting, однако ни один из основных браузеров еще не поддерживает его : http://realworldvalidator.com/css/pseudoelements/::before(2), поэтому не используйте его. – Ming

ответ

9

CSS spec on content описывает все три синтаксиса.

  • :before - устаревший синтаксис для псевдо элементов. Используйте, если необходима более быстрая поддержка браузера, такая как IE8. IE9 поддерживает новый синтаксис. It also seems like iOS Safari does not support the new syntax
  • ::before - новый синтаксис элементов псевдоэлемента. Это эквивалентно ::before(1)
  • ::before(n) - используется для создания нескольких элементов before, которые могут быть перед другими ::before. Details are in the same spec.
Смежные вопросы