为了账号安全,请及时绑定邮箱和手机立即绑定

!important的优先级不应该是最高吗,为什么下面的代码显示的“简单”还是blue蓝色的,求解

<html>

<head>

<title>!important</title>

<style type="text/css">

p{color:red!important;}

p.first{color:green;}

#second .first{color:blue;}

</style>

</head>

<body>

    <h1>勇气</h1>

    <p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个勇气来回答老师提出的问题。学校举办的活动我也没勇气参加。</p>

    <p id="second">到了三年级下学期时,我们班上了一节公开课,老师提出了一个很<span class="first">简单</span>的问题,班里很多同学都举手了,甚至成绩比我差很多的,也举手了,还说着:"我来,我来。"我环顾了四周,就我没有举手。</p>

    

</body>

</html>


正在回答

6 回答

http://img1.sycdn.imooc.com//589f094f00019a4809460378.jpg上图中我对#second(也就是第二段文字)设置了两个css样式,第一个样式为蓝色加了!important,第二个样式为绿色没加!important,第二段文字样式表现为蓝色,继承的是加了!important的样式,优先级表现在这,而你对简单二字单独设置了蓝色样式,你设置的p样式对于简单二字只是继承,而继承权值最低只有0.1,你单独设置的#second .first{color:blue;}权值是100,所以简单二字的样式为蓝色

1 回复 有任何疑惑可以回复我~
#1

weibo_枫尘逍遥_0 提问者

也就是可以在!important上叠加权值对吗
2017-02-11 回复 有任何疑惑可以回复我~
#2

qq_Absurdyears_0 回复 weibo_枫尘逍遥_0 提问者

!important已经是最高权值了
2017-02-11 回复 有任何疑惑可以回复我~
#3

weibo_枫尘逍遥_0 提问者 回复 qq_Absurdyears_0

我也是这样理解的,但是为嘛已经是最高权值,还能在它里面设定别的颜色样式?显示的应该是高权值对吧
2017-02-11 回复 有任何疑惑可以回复我~
#4

qq_Absurdyears_0 回复 weibo_枫尘逍遥_0 提问者

你对p标签设置了最高权值,这个最高权值值作用于p标签本身,“简单”二字之所以有其他样式是因为你对“简单”二字设置了span标签,span标签是p标签里的一个子标签,所以p标签的最高权值对span来说并不是直接作用于span标签本身,而是继承,继承的权值只有0.1,你对span单独设置的样式权值是100,所以能够设置样式
2017-02-12 回复 有任何疑惑可以回复我~
#5

weibo_枫尘逍遥_0 提问者 回复 qq_Absurdyears_0

很感谢!
2017-02-12 回复 有任何疑惑可以回复我~
#6

qq_Absurdyears_0 回复 weibo_枫尘逍遥_0 提问者

我也是刚学,一起努力吧
2017-02-12 回复 有任何疑惑可以回复我~
#7

捉急的孩子 回复 qq_Absurdyears_0

谢谢!
2017-02-24 回复 有任何疑惑可以回复我~
查看4条回复

继承的权值只有0.1,然后就近原则。

1 回复 有任何疑惑可以回复我~

你又单独设置了个类选择器,类选择器把红色覆盖了

1 回复 有任何疑惑可以回复我~

权重相同时,谁靠下用谁的

#second .first{color:blue;}是继承了p的设置,所以权重和!improtant是相同的,但由于它比p{color:red!improtant;}更靠近代码块,所以“简单”两个字采用下面的设置

1 回复 有任何疑惑可以回复我~

应该是覆盖了,或者说是层叠了。p中red虽然级别最高,但span是子元素,在渲染时又把红色覆盖了。

3 回复 有任何疑惑可以回复我~

因为你后面又重新设置了“简单”的样式,!important只是普遍是红色,除了你特别去重新设置某些字的样式。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

!important的优先级不应该是最高吗,为什么下面的代码显示的“简单”还是blue蓝色的,求解

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信