Использование селектора * в таблице стилей для сброса стилей
-
06-07-2019 - |
Вопрос
Сейчас я просто сбрасываю нужные мне стили в верхней части таблицы стилей, например:
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 по скорости , подстановочный знак селектор очень неэффективен. Кроме того, в будущем у вас могут появиться ящики, которые вы не хотите сбрасывать. Называя каждого по отдельности, вы получаете и эффективность, и контроль.