2014-12-08 6 views
0

Видел этот бит CSS в Sitepoint example (от this article) и не может понять, что он должен делать. Очевидно, что первый селектор применяет стиль выбора размеров коробки ко всему, но я не понимаю использования ::before/::after в этом случае. Я знаю, что они используются для добавления контента до или после данного элемента, но какая цель здесь служит?Странное использование CSS :: before, :: after

*, 
*::before, 
*::after { 
    box-sizing: border-box; 
} 
+1

Я думаю, что это можно изменить следующим образом: '*, :: before, :: after {box-sizing: border-box;' –

ответ

5

Это будет принудительно использовать элемент ::before или ::after, чтобы использовать имущество box-sizing , так как вы можете сформировать их, как если бы они были ящиками. * не включает эти псевдоэлементы, поэтому *::pseudo сделает это за вас.

+3

Вы действительно прочитали вопрос!^_^«' '' Не включает в себя psuedo-элементы "- вот критическая часть здесь. –

+1

@somethinghere ah совершенно ясно сейчас- спасибо – Yarin

0

Селектор означает:

применяется ко всем элементам, относится к содержанию перед каждым элементом, и применить к содержанию после каждого элемента.

2

вот старые реализации:

Двойное двоеточие заменяется селекторы одного двоеточия для псевдо-элементов в CSS3, чтобы сделать четкое различие между псевдо-классами и псевдо-элементами. Для обратной совместимости синтаксис с одной колонкой допустим для селекторов pre-CSS3. Так,: после является псевдо-класс и :: после это псевдо-элемент

: используется для: до и: после псевдо-элементов, которые вместе с содержимым: позволяют поставить что-то для пример изображения или значок и т.д. до/после каждого селектора вы указали

Итак, вы выбираете все, и применяя коробчатой ​​проклейки свойства и стиль до и после него, как * не включает в себя псевдопользователей-элементы

Смежные вопросы