CSS Reset Question - PullRequest
       7

CSS Reset Question

2 голосов
/ 21 сентября 2011

Сброс Эрика А. Мейера CSS определяет имена всех элементов, например:

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

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 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

Мой вопрос: можно ли использовать звездный селектор вместо определения всех элементов, как указано выше?

*{
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

Если да, что лучше использовать?Спасибо.

Ответы [ 3 ]

4 голосов
/ 21 сентября 2011

, так как имена списков , а не"все имена элементов", вы не должны использовать * - обратите внимание, что нет списков input, select или textarea, просто чтобы дать несколько примеров.

3 голосов
/ 21 сентября 2011

Вы хотите уклониться от * по причинам производительности, см.

1 голос
/ 12 ноября 2013

Хорошо, вы уже приняли ответ, но я хотел, чтобы вы знали, что он не может быть в порядке, чтобы установить все (*) с полем: 0;отступ: 0; размер шрифта: 100; и т. д. и т. д .;

Если вы не готовы перезаписать свой сброс длинным И полным набором HTML-разметок и возможностей.

Рассмотрим <select><option> и другие <form> поля: они станут хрустящими крошечными.

Рассмотрим <ul><li> и <ol><li> и вложенные <ol><li><ol><li>: все они станут прямыми, выровненными по вертикалии оправдано до 0.

Рассмотрим <small>, <sup>, <sub> и другие встроенные наценки.Все они будут выглядеть одинаково (в отличие от того, для чего предназначен css)

Мой ответ: НЕТ, делать это неправильно: * {margin:0;padding:0; /* ... */}, если вас не волнуетскорость DOM браузера или необходимость иметь дело с последствиями для вашего визуального стиля (woups! все поля формы перепутаны, woups! мой цитата не отображается, woups! параграф выглядит как что-то еще, woups! я не сделалувидеть, что одно пришло и т. д.)

...