文字顏色變化
沒加!important的時候第三行p后面加了空格之后第一段第二段都會變成紅色,“簡單”變為綠色。
加了!important之后也是一樣的情況
<style type="text/css">
p{color:red!important;}
p .first{color:green;}
</style>
</head>
<body>
? ? <h1>勇氣</h1>
? ? <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個勇氣來回答老師提出的問題。學校舉辦的活動我也沒勇氣參加。</p>
? ? <p id="second">到了三年級下學期時,我們班上了一節公開課,老師提出了一個很<span class="first">簡單</span>的問題,班里很多同學都舉手了,甚至成績比我差很多的,也舉手了,還說著:"我來,我來。"我環顧了四周,就我沒有舉手。</p>
? ??
2016-11-02
相當于聲明放在最下面
2016-11-02
我測試了一下,把p{color:red!important;}去掉,然后在p.first{color:green;}中p不加空格時,只有第一段綠色,加空格時只有簡單兩個字綠色,也就是沒有空格時只作用于第一段,有空格時只作用于簡單兩個字,這就能解釋為什么無論加了!important與否,第一段和第二段都是紅色,簡單為綠色了。但是還是不太懂為什么p .first只作用于簡單二字,不作用與第一段這不是后代選擇器嗎
2016-11-02
首先first在你的命令里代表兩部分內容:第一段P標簽的內容和“簡單”。所以要分析你的問題得分為兩部分看:
對于第一段P標簽內容來說,p{color:red!important;}和p .first{color:green;}會執行前者,因為加了!important指令,權限比后者高,哪怕p權值(1分)的比p.first的權值(11分)低。
對于“簡單”來說,p{color:red!important;}和p .first{color:green;}會執行后者,因為前者的作用對象不包含<span class="first">,而是<p>,后者的作用對象才包含<span class="first">,所以哪怕前者再加兩個!important也不會有作用。
你可以試試在p{color:red!important;}和p .first{color:green;}之間加一條指令:.first{color:yellow!important},就會發現第一段P標簽的內容和“簡單”都變成了黃色。
我也是初學者,不知道說的是不是清楚標準~~互相學習
2016-11-02
!important ? ..相當于聲明放在最下面,只是同分數優先,。。p .first 11分。。p 1分。。