Подтвердить что ты не робот

Почему сброс CSS не использует '*' для покрытия всех элементов?

Например, Meyer reset имеет длинный список элементов 1 который, я считаю, может быть заменен на *?

Я видел некоторое использование:

* {
   margin: 0;
   padding: 0;
 }

Но более "продвинутые" сбрасывания, похоже, явно указывают теги.

Единственные элементы, которые я не вижу в списке тегов, которые покрыты (я полагаю) с *, это input, button и select - Eric Meyer reset, в факт, по-видимому, действительно не имеет отношения к этим элементам вообще. Если избежать сброса этих элементов, это проблема... почему бы и нет? Очевидно, что браузеры не все отображают элементы формы одинаково.


1 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, I, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, time, mark, audio, video
, если вам интересно.

4b9b3361

Ответ 1

Вы правильно догадались - причина в form элементах.

Если вы установите border: 0 на, например, input, он потеряет собственный стиль.

Например: http://jsfiddle.net/nrB6N/

И нет способа вернуть стиль по умолчанию.

Ответ 2

* действительно, ДЕЙСТВИТЕЛЬНО плохо для производительности (на самом деле это не имеет особого значения на небольших сайтах, но, думаю, последствия для более 5000 HTML-элементов). Целевое задание конкретных элементов всегда быстрее и эффективнее. Это также следует учитывать при выборе пользователя для использования идентификатора или класса. Подсчитайте больше, чем обычный JavaScript сегодня, и вы обнаружите, что целевые элементы с идентификатором или точные инструкции CSS дают улучшения производительности.

http://code.google.com/speed/page-speed/docs/rendering.html#UseEfficientCSSSelectors

пс. Помимо скорости, он также влияет на элементы input, которые после того, как * border, padding и margin 0 становятся довольно сложными для того, чтобы они выглядели одинаково в браузерах, особенно в IE. Подробнее: http://www.christianmontoya.com/2007/02/01/css-techniques-i-use-all-the-time/

Ответ 3

Главным образом потому, что его производительность удалась. Кроме того, поскольку вы не хотите применять reset ко всем элементам все время, кроме тех, которые, как известно, вызывают проблемы (вокруг модели окна).

Кроме того, стиль сброса select, input может вызвать нежелательный опыт.