我们应该在css重置之前或之后将字体大小,行高和font-family声明为body?

时间:2010-06-22 18:12:01

标签: css xhtml

例如,如果我使用eric meyer reset,我必须将此样式应用于正文。

body { font: 100%/1.5 "Helvetica Neue", Helvetica, Tahoma, Arial, sans-serif;*/ }

我应该在重置css之前还是之后保留这个?

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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
    outline: 0;
}
body {
    line-height: 1;
    color: black;
    background: white;
}
ol, ul {
    list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: separate;
    border-spacing: 0;
}
caption, th, td {
    text-align: left;
    font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
}
blockquote, q {
    quotes: "" "";
}

5 个答案:

答案 0 :(得分:5)

如果您没有重置在您提到的font规则中设置的任何字体属性,则无论您在重置之前还是之后放置它都无关紧要,因为它不会被重置更改。


修改现在我看到您正在使用的重置内容:

对于inherit值,无论您是在重置之前还是之后使用font规则。因此,font-family"Helvetica Neue", Helvetica, Tahoma, Arial, sans-serif)对于两种变体都是相同的。这同样适用于使用相同值(font-size)的属性。

line-height规则集中的body值不同(重置:1;您的规则:1.5)。在那里你必须决定你想拥有什么价值:如果它是1,请将你的规则放在重置之前;如果它是1.5(我猜是这样),请在重置之后输入您的规则

答案 1 :(得分:3)

正如Gumbo所说,如果你没有重置字体,你把它放在哪里并不重要,而且Eric Meyer的重置继承了字体属性,所以在重置之前也可以声明它, BUT 如果你想遵循一些指导原则,并根据一些基本的架构逻辑编写它,如果你设置一些属性到一个对象,然后重置它(破坏),那些属性应该早已消失。

所以我建议你做任何你想要的事情重置之后。也许在某些时候你会忘记字体属性没有被覆盖,并尝试添加另一种将被重置的样式。

重置后我总是写自定义通用样式。

答案 2 :(得分:0)

确保使用CSS规则的最安全方法是在重置之后声明它们。

答案 3 :(得分:0)

Eric Meyer的重置包含一行重置body的字体值以继承,因此如果您逐字使用,则必须在重置后包含字体声明

答案 4 :(得分:0)

基本上。重置是为了设置你工作的基础,所以重置先行,然后你就可以在浏览器上获得更一致的结果 - 所以基本上你做的就是重置后的正常情况。

Cascades从头到尾,而不是更具体的选择器。