正 文

CSS 一般问题


www.7dspace.com  更新日期:2006-1-9 4:22:17  七度空间


特性的简写法

使用简写法来定义样式简明扼要,是个不错的方法。你也可以用简写法设定某组特性中的部分特性值,但须留意其它没写到的部分会自动采用默认值。这表示之前的规则中为某单一特性定义的值可能失效。

#section { font-size: 12px; font-family: Verdana; font-weight: bold; }
.redtext { font: 14px Arial; color: red; }

<div id="section">
   采用 Verdana 粗体的 12px 字样;
   <span class="redtext">采用 Arial 正常字体的 14px 红字;</span>
   还是采用 Verdana 粗体的 12px 字样。
</div>

前一个例子中,套用到不同元素范围的同族特性是问题所在,但就算特性都写在同一条规则里也可能出问题,因为顺序真的很重要。

#section {
   font-weight: bold;
   font: 12px Verdana;  /* 有了这行,font-weight 又回到预设的 normal 了 */
}

使用 * 选取符

* 选取符表示任何元素皆符合,但使用上应多加小心。

body * { font-weight: normal; }
#section { font: 12px Verdana; }
.boldtext { font-weight: bold; }
.redtext { color: red; }

<div id="section">
   正常、
   <span class="boldtext">
      <span class="redtext">正常红字、</span>
   </span>
   又见正常。
</div>

在此例中,选取符为 body * 的规则会套用到所有 body �内的元素,也包括 redtext,所以原先套用到 boldtext 的 font-weight: bold; 就被覆盖为 font-weight: normal; 了。

CSS 明确性

如果某元素会套用好几条规则,则相冲突的特性就要靠规则的明确性来分高下。行内样式(放在 HTML 各卷标的 style 属性中)优先权最高,其次是以 id 做选取符的规则,再其次是以 class 套用的类别,最后则是单纯以元素名称当选取符的规则。

div { color: black; }
#orange { color: orange; }
.green { color: green; }

<div id="orange" class="green" style="color: red;">是红的!</div>

如果样式规则的选取符分成好几段,计算方式就更为复杂一些。需要了解完整信息者,请参考 CSS 2.1 规格书的 6.4.3 一节 (http://www.w3.org/TR/CSS21/cascade.html#specificity)。

-moz-* 特性是什么玩意?

请见 Mozilla 扩充的 CSS (http://developer.mozilla.org/en/docs/Mozilla_CSS_Extensions)。

3页,页码:[1] [2] [3] 

上一篇:关于文件对象模型(DOM)
下一篇:AJAX 上手篇
作者:BobChao  来源:MoztwWiki ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐