正 文

CSS 一般问题


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


套用多重类别

你可以在 HTML 元素的 class 属性里以空格符分隔填上多个样式类别名称,便能同时套用多重类别。

<style type="text/css">
.firstclass { background: black; color: white; }
.secondclass { font-weight: bold; }
</style>

<div class="firstclass secondclass">
... content ...
... content ...
... content ...
</div>

若是这些规则中设定了同一种特性值,则会依序以明确性(specificity)、定义位置先后决定显示方式,与class 属性中的次序无关。

无用样式

即使样式规则已经正确设定完毕,还是可能为浏览器所忽略,此时通常是经过语法及优先权法则判断后的正常现象。

以下是导致样式被略过的常见情形:

    * HTML 元素层次问题
    * 样式规则重新定义
    * 特性的简写法
    * 使用 * 选取符
    * CSS 明确性

你可以使用 DOM Inspector (http://developer.mozilla.org/en/docs/DOM_Inspector) 的 CSS Style Rules 来检查上述问题。

HTML 元素层次问题

此时 CSS 样式套用与否与元素的层次大有相关,请留意:套用到子元素的样式必定会盖过母元素的样式,跟明确性或 CSS 规则的优先权无关。

#section { font-weight: bold; }
.redtext { font-weight: normal; color: red; }

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

如果你的 HTML 层级错综复杂,发生规则意外被忽略的情形时,请检查元素层级问题。可能有某个子元素套上了不该用的样式。

样式规则重新定义

在 CSS 样式表中,先后次序非常重要。如果你定义了某规则后又重新定义一次,则晚定义的才算数。

#section { font-weight: bold; }
.redtext { color: red; }
/* 其它规则 */
/* 其它规则 */
/* 其它规则 */
.redtext { color: green; }

<div id="section">
粗体、
<span class="redtext">正常红字?</span>
又见粗体
</div>

为避免此类错误发生,每个特定选取符请仅定义一次样式,集中特性一次定义也便于管理些。

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

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

热 点 导 读
特 别 推 荐