首页 > UED > CSS中font属性的重置

CSS中font属性的重置

2009年4月28日 | 602 次阅读

我在使用CSS时,一些样式定义的简写形式已经成为了我的首选,比如用一句margin代替了margin-top, margin-right, margin-bottom, margin-left。同样的,我也会用font代替font-style, font-variant, font-weight, font-size/line-height, font-family。但今天上午我在写代码时,却发现了一个之前没有被我注意到的细节:font的简写形式会将一些没有定义的属性恢复成默认值。

我来仔细说明一下这个问题。先看下边这行代码,它定义了p标签内的字体使用斜体、大小写样式正常、粗体(bold与700等同)、字体大小12px、行高1.5(尽量避免给line-height的属性加单位)、使用字体为arial及sans-seirif

p { font: italic normal 700 12px/1.5 arial,sans-serif; }

在上边这行语句中我同时定义了所有font的5+1(line-height算这额外的“1”)个属性,但实际情况下可能我们只需要定义需要的那部分就可以了,这时没有被定义的样式将会被font恢复为默认值。比如:

p {
  font-weight: 700;
  font:12px sans-serif;
}

因为后边的font属性会将它并没有定义的font-weight恢复为默认的400,所以最后字体仍然是默认的正常字体,而不是前一句所定义的粗体,以后大家在使用font时一定要注意这一点。

因为font-variant很少用到,我们可以在定义时每次都包括font-size、font-family定义,只在需要时加font-style、font-weight定义。避免产生自己不易发现的样式定义的歧义。

mingelz UED ,

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.