Eric A. Meyer 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;
}
如果是,哪个更好用? 感谢。
答案 0 :(得分:4)
由于侦听名称不“所有元素名称”,因此您不应使用*
- 请注意,不能input
,select
或{ {1}}听,只是举几个例子。
答案 1 :(得分:3)
由于性能原因,您希望回避*
,请参阅
答案 2 :(得分:1)
好吧,你们已经接受了一个答案,但是我想让你知道它是不是可以通过保证金来设置所有内容(*):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!我没有看到那个人来了,等等。)