Что означает "*" в CSS? - PullRequest
       2

Что означает "*" в CSS?

42 голосов
/ 03 января 2012

Я искал файлы CSS для многих веб-сайтов, таких как Facebook и Youtube.

Почти во всех из них я вижу этот код:

* {
margin: 0;
padding: 0;
}

Это странно, так как удаление этого блока в инструментах веб-разработчика Chrome не влияет на макет страницы.

Что означает этот код и когда он используется и почему?

Ответы [ 8 ]

63 голосов
/ 03 января 2012

Это распространенная техника, называемая сбросом CSS. Различные браузеры используют разные поля по умолчанию, поэтому сайты по разному выглядят по разному. * означает «все элементы» (универсальный селектор ), поэтому мы устанавливаем для всех элементов нулевые поля и нулевое заполнение, чтобы они выглядели одинаково во всех браузерах.

9 голосов
/ 03 января 2012

* - это подстановочный знак

Это означает, что эти стили применяются ко всем элементам.

В этом случае для 0 и padding для всех элементов установлено значение *1008*,Это распространено в случае сброса CSS-файлов, чтобы все поля и отступы собственного браузера по умолчанию имели разные значения.

8 голосов
/ 03 января 2012

Звездочка (*) является подстановочным знаком и означает все элементы.

* {
    margin: 0;
}

устанавливает поля всех элементов равными 0.

4 голосов
/ 03 января 2012

Сбрасывает поля и отступы всех элементов HTML на странице до 0.

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

На самом деле, многие веб-сайты содержат файл reset.css (или аналогичный), который при открытии вы увидите множество правил для сброса всего содержимого в любом браузере.

2 голосов
/ 03 января 2012

Это подстановочный знак, который устанавливает margin и padding на 0 для всех элементов HTML.

Попробуйте более интересный вариант, например:

* {
    font-size: 20pt;
}
1 голос
/ 03 января 2012

* - подстановочный знак, он выбирает все элементы margin: 0; и padding: 0; устанавливают поля и отступы 0 для выбранных элементов, которые в этом случае будут всеми элементами.

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

1 голос
/ 03 января 2012

В CSS есть несколько стилей по умолчанию, применяемых к каждой веб-странице в дополнение к вашим стилям. Эти стили по умолчанию определяют определенные значения padding и margin для таких элементов, как <h1>, <li>, <p>, <table> и т. Д. Раздражает то, что часто вам нужно переопределить эти стили, чтобы ваша страница выглядела правильно, но не все производители браузеров соглашаются с по умолчанию. Часто большинству разработчиков проще всего сбросить все padding и margins на zero, чтобы все работало так, как ожидалось. * является селектором wildcard и будет соответствовать всем типам элементов. По сути, этот стиль говорит об обнулении всех отступов / полей для всех элементов, следовательно, удаляются любые стили по умолчанию.

1 голос
/ 03 января 2012

Это общая часть общего сброса CSS. Это в основном устанавливает все поля и отступы для всех (*) элементов равными 0. Затем вы можете добавлять собственные значения полей и отступов для каждого элемента в соответствии с вашими требованиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...