科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件CSS如何为同一个元素处理多种规则

CSS如何为同一个元素处理多种规则

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

理解和应用层叠样式表的一个重要细节是它的名字中的层叠方面,本文将详细的介绍CSS这方面的特性,并举例说明。

作者:builder.com.cn 2007年3月20日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

重要的特性

添加关键字important可以增加你的声明的重要性。增加重要性的声明会覆盖与它们对应的标准或非重要声明。如果读者和作者的样式表都包含了重要声明语句,那么作者声明将会覆盖读者声明。下面的例子演示了声明一个CSS属性为重要。

<html>

<head>

<title> Cascading</title>

<style type="text/css">

H1 {font-face: arial; font-size: 12pt; color: red ! important;}
</style>

</head>

<body>

<h1 style="color: blue;">TechRepublic.com</h1>
</body>

</html>

在上面的例子中,你可以注意到分配给样式H1的颜色red总是有用的,因为它被声明为重要的。值得注意的是,当一个项目在读者和作者样式表中均被声明为重要时,作者的声明将会覆盖读者的声明。

规则来源

一个web用户可以创建和使用他/她自己的样式表。在这种情况下,在用户样式表和web应用样式表之间将会产生冲突。当这些冲突发生时,web应用的设置胜过当所有项目拥有同样的重要性时。可以使用重要的声明胜过对应非重要的声明,但是,当都声明为重要时,就意味着web应用会赢。

特性

当CSS规则的特性,更有特殊性的规则会赢得优先。因此,如果选择器都是一样的,那么最后一个就会赢得优先。所以下面的例子中总是定义H1为绿色。

<html>

<head>
<title>Cascading</title>
<style type="text/css">
H1 {color: red;}
H1 {color: green;}
</style></head>
<body>
<h1>TechRepublic.com</h1>
</body></html>

另一方面,下面例子中包含在BODY中的H1有一个特殊的定义,所以元素H1显示为红色。

<html><head>
<title>Cascading</title>
<style type="text/css">
BODY H1 {color: red;}
H1 {color: green;}
</style></head>
<body>
<h1>TechRepublic.com</h1>
</body></html>

当显示一个页面时,越具特色的选择器,越有更大的优先权。实际上,有专门用于估算元素特性的规则,基本上,数字值被分配给某些CSS选择器,每个选择器的值为100,类选择器的值为10,每个HTML选择器的值为1。如果你将这些值赋给CSS规则,那么值大的会赢得优先。下面的计算对应前面的例子。BODY H1有两个HTML选择器,因此值为1+1=2。H1包含一个HTML选择器,因此值为1,在每个实例中,2恒大于1,所以元素H1(包含在BODY中的)都是红色。

顺序

规范的顺序很简单:当两个规则有相同的重要性时,后一个规则优先性大。当有多个样式表来源时,使用这个规则可能会导致混淆。因此下面的操作顺序十分有用:

浏览器默认:第一,使用了浏览器默认或者用户自定义CSS规则。

外部样式表:使用了外部定义的样式表

内部样式表(在<head>标签中指名)

内嵌样式表(在一个HTML元素的内部):使用了应用于每个HTML元素的特别样式

注意

目前,CSS是大多数web应用的一个标准特征。随着web应用的增加,大量的CSS来源被使用。为此,你需要深入了解用户系统是如何处理多种CSS规则的。这样就确保了对你或者对用户都不会产生惊讶。

可以在此处获得CSS资源。

责任编辑:德东

查看本文国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章