css样式表之冲突问题详解[转]

CSS样式表的问题是老生常谈了。笔者早在10年前就粗略地接触过一些,那个时候还在上大学^_^。不过,随着时间的推移,好多东西都忘的一干二净。偏偏又自认为已经学过。唉,笔者编写Web UI之时,便总在这些地方犯错误。

下面回顾一下css样式表的冲突问题,基础知识,css高手见笑了。

冲突的来源:  css层叠样式表对同一个标签具有多种定义方法,而每种方法的影响范围(顺序、具体性)却有权重之分。

举个例子,现在有一个网页,有若干个段落:

<html>
<body>
<p>我是一个段落,用来演示css样式表冲突问题。</p>
<p>我是第二个段落,用来演示css样式表冲突问题。</p>
</body>
</html>

当我们为它定义css样式表时候可以有多种方法:

  1. 1、定义html标签P

  2. 2、定义类class

  3. 3、定义ID

  4. 4、直接使用内联属性 style=“”

案例分析:

<html>
<head>
<style>
body span p {color:pink;}
p {background-color:yellow; color:red;}
p {color:blue;}
//上面的css样式表,人为制造了color的冲突,很明显,更靠近段落的color:blue起了作用
//而第三个段落的css定义确又遵循了具体性的原则,即它在p前指定了须在span内的p,
因此,css不管该样式距离段落的远近。
</style>
</head>
<body>
<p>我是一个段落,用来演示css样式表冲突问题。</p>
<p>我是第二个段落,用来演示css样式表冲突问题。</p>
<span><p>我是第三个段落,用来演示css样式表冲突问题。</p></span>
</body>
</html>

总结下来,根据顺序、具体性原则。当一个HTML元素被多个样式选择器定义并产生冲突的时候,其权重(优先级)排序如下:

id>class>Multi HTML Tag>Single HTML Tag

另外需要注意的一点是:内联样式(style=“”)的优先级别最高,但现在一般不直接定义某个元素的内联样式。各位读者心中有数就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值