12

例如,Meyer 重置有很长的元素列表1我相信可以用*?

我已经看到了一些用途:

* {
   margin: 0;
   padding: 0;
 }

但是更多“高级”重置似乎与明确说明标签有关。

我在标签列表中没有看到(我认为)被 a 覆盖*唯一元素是inputbuttonselect- 事实上,Eric Meyer 重置似乎根本没有真正处理这些元素。如果避免重置这些元素是问题......你为什么不呢?浏览器显然不会都以相同的方式显示表单元素。


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

4

3 回答 3

15

你猜对了——原因是form元素。

border: 0例如,如果您设置一个input,它将失去本机样式。

例如:http: //jsfiddle.net/nrB6N/

而且,没有办法恢复默认样式。

于 2011-07-29T23:28:58.100 回答
8

*确实,对性能非常不利(在小型网站上并不重要,但想想对 5000 多个 HTML 元素的影响)。定位特定元素总是更快、更有效。在选择使用 ID 还是 CLASS 时,也要记住这一点。算上今天不常见的 JavaScript,您会发现使用 ID 或精确的 CSS 语句定位元素会提高性能。

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

附言。除了速度之外,它还会影响input元素,在 * 边框、填充和边距 0 之后的元素变得非常难以设置样式,因此它们在浏览器中看起来是一样的,尤其是在 IE 中。阅读更多: http: //www.christianmontoya.com/2007/02/01/css-techniques-i-use-all-the-time/

于 2011-07-29T23:36:06.140 回答
2

主要是因为它的性能受到打击。此外,由于您不想一直对所有元素应用重置,但已知会导致问题的元素(围绕盒子模型)。

此外,重置 , 的样式select可能input会导致不良体验。

于 2011-07-29T23:28:46.160 回答