Почему при сбросе CSS не используется '*', чтобы охватить все элементы? - PullRequest
12 голосов
/ 30 июля 2011

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

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

* {
   margin: 0;
   padding: 0;
 }

Но более «продвинутые» перезагрузки, кажется, идут с явным указанием тегов.

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


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,<br> figure, figcaption, footer, header, hgroup,<br> menu, nav, output, ruby, section, summary, time, mark, audio, video, если вам интересно.

Ответы [ 3 ]

15 голосов
/ 30 июля 2011

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

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

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

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

8 голосов
/ 30 июля 2011

* действительно, очень плохо влияет на производительность (на небольших сайтах это не имеет значения, но подумайте, например, о последствиях для 5000+ HTML-элементов).Ориентация на конкретные элементы всегда быстрее и эффективнее.Об этом также следует помнить, выбирая, использовать ли ID или CLASS.Примите во внимание более распространенный сегодня JavaScript, и вы обнаружите, что целевые элементы с идентификаторами или точными операторами CSS приводят к повышению производительности.

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

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

2 голосов
/ 30 июля 2011

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

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

...