Использование селектора * в таблице стилей для сброса стилей

StackOverflow https://stackoverflow.com/questions/1215390

Вопрос

Сейчас я просто сбрасываю нужные мне стили в верхней части таблицы стилей, например:

html, body, div, fieldset, form, h1, h2, h3, h4, p, ul, li {
    margin: 0;
    padding: 0;
}

Однако я много раз видел, как люди используют:

* {
    margin: 0;
    padding: 0;
}

Это, кажется, облегчает ситуацию, но где-то еще (не помню где ...) Я читал, что использование селектора * серьезно влияет на производительность.

Правда ли, что длинный список селекторов (в примере только несколько селекторов, может быть и больше) работают значительно лучше, чем селектор *, и есть ли другие недостатки у селектора *?

Это было полезно?

Решение

Однажды я провел некоторый бенчмаркинг, и сброс * {} выполнялся не медленнее, чем сброс - Meyers, YUI и вообще без сброса.

Основная проблема со сбросом * {} состоит в том, что он сбрасывает отступы на кнопках ввода для большинства браузеров, но IE сохраняет некоторые его отступы, что затрудняет согласованное оформление кнопок в кросс-браузерном режиме.

Другие советы

Почему бы не использовать один из стандартных файлов сброса CSS, например Эрик Мейер или YAHOO ?

Через рекомендации Google по скорости , подстановочный знак селектор очень неэффективен. Кроме того, в будущем у вас могут появиться ящики, которые вы не хотите сбрасывать. Называя каждого по отдельности, вы получаете и эффективность, и контроль.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top