CSS——important标记

important标记

	<style type="text/css">
		p{
			color:red;
		}
		#para1{
			color:blue;
		}
		.spec{
			color:green !important;
		}
	</style>
</head>
<body>
	<p id="para1" class="spec">我就想是绿色</p>
</body>

这时候是绿色,但是如果CSS中的p标签变成:

	p{
		color:red !important;
		font-size:100px;
	}

则结果便是红色。

因为通过k:v!important;来给一个属性提高权重,这个属性的权重就是无穷大。

注意语法
正确的:font-size:60px !important;
错误的:
font-size:60px; !important;
font-size:60px important;

需要注意的是:
1.important提升的是一个属性,而不是一个选择器:

	<style type="text/css">
		p{
			color:red !important;
			font-size:100px;
		}
		#para1{
			color:blue;
			font-size:50px;
		}
		.spec{
			color:green;
			font-size:20px;
		}
	</style>

只针对颜色写了important,所以就字体颜色属性提升权重;字号属性没有写,所以就没有提升权重。综合来看,字体颜色是red(听important的),字号是50px(听id的)。

2.important无法提升继承的权重,该是0还是0:
比如html结构:

<div>
	<p>哈哈哈哈哈哈</p>
</div>

其CSS样式:

	div{
		color:red !important;
	}
	p{
		color:blue;
	}

最后字体还是蓝色。
因为div是通过继承性来影响文字颜色的,所以!important无法提升它的权重,权重依然是0。p标签是选中了,所以字是蓝色的,要以p为准。

3.!important不影响就近原则:

	<style type="text/css">
		div{
			color:red !important;
		}
		ul{
			color:green;
		}
	</style>
</head>
<body>
	<div>
		<ul>
			<li>猜猜我是什么颜色</li>
		</ul>
	</div>
</body>

div选择器没有直接用于最内层标签,没有直接选择上文字所在标签,所以是通过继承性来影响文字颜色,所以权重为0。important无法提升权重是0的选择器,此时没有打破就近原则。由于ul比div近,所以以ul为准。

一般情况下不使用important,因为会让CSS很乱。

权重计算的总结:

  1. 被选中了→比权重→权重不同的话谁大就听谁的,权重相同的话哪个编辑器写在后面就听那个的。
  2. 没被选中→就近原则:谁描述的近听谁的→如果一样近,比权重→如果权重不同,谁的权重大就听谁的,如果权重相同,谁写在后面就听谁的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值