用层叠管理多样式(Managing Multiple Styles: The Cascade)

内容参考自《CSS实践手册》第二版

层叠是决定哪些样式属性要被应用到元素的一套规则。


继承样式的叠加

<html>
<head>
<title>Hello world!</title>
<style type="text/css">
body {font-family:Arial, Helvetica, sans-serif;}
p {color:#00F;}
strong {font-size:15px;}
</style>
</head>
<body>
	<p>
    	<strong>Hello world!</strong>
	</p>
</body>
</html>

<strong>标签嵌套在段落里面,这个段落又处在<body>里面,于是<strong>标签就会从它的两个祖先处得到继承,因此它从body处继承了font-family(字体)属性,又从父级段落处继承了color(颜色)属性,此外<strong>标签直接应用了font-size属性,所以<strong>标签的样式为

strong {
	font-family:Arial, Helvetica, sans-serif;
	color:#00F;
	font-size:15px;
}

最近的祖先样式先胜出

如果body标签和段落标签都设置了color属性,则<strong>标签会继承段落处的color属性


直接应用的样式胜出
如果body标签和段落标签和<strong>标签都设置了color属性,<strong>样式比body标签和段落标签更具体

用权重值决定哪种样式——最具体的样式中的属性会胜出
一个标签选择器值1分
一个类选择器值10分
一个ID选择器值100分
一个内建样式值1000分
(这个计算在大多数情况下适用)
伪元素(如 :first-line)通常被当作标签选择器
伪类(如: :link)通常被当作类对待
一个标签多个样式则对其值求和
个人觉得用位数来说明更清楚,权重值用ABC来表示(a代表ID,b代表类,c代表标签),在相应的位数上加1


p(标签),权重值为001
.footer(类),权重值为010
#main(ID),权重值为100
div .footer,div为标签,在C位上加1,.footer为类,在B位上加1 权重值为011
div#main,权重值为101
div#main div.footer,权重值为211

权重值相同时最后一个样式胜出
主要看样式表在HTML中的位置了

忽略权重值
在属性后使用!important(注意IE6无效)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值