p #second span{color:purple;}為什么不生效而p#second span{color:purple;}可以生效
<!DOCTYPE?html> <html> <head> <meta?charset="UTF-8"> <title>特殊性</title> <style?type="text/css"> ????p{color:red;}.first{color:green;}/*因為權值高顯示為綠色*/ ????span{color:pink;}/*設置為粉色*/ ????p?#second?span{color:purple;} </style> </head> <body> ????<h1>勇氣</h1>???? ????<p?class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個勇氣來回答老師提出的問題。學校舉辦的活動我也沒勇氣參加。</p> ????<p?id="second">到了三年級下學期時,我們班上了一節公開課,老師提出了一個很<span>簡單</span>的問題,班里很多同學都舉手了,甚至成績比我差很多的,也舉手了,還說著:"我來,我來。"我環顧了四周,就我沒有舉手。</p> </body> </html>
想要把第一個span設置為粉色,第二個標簽設置為紫色,這樣為什么不生效?去掉空格變成
p#second?span{color:purple;}
就可以了,兩個選擇器之間不用加空格么?
另外參考這個問題:http://www.xianlaiwan.cn/qadetail/350589
這個問題里面設置
.first#ha{color:purple;}
并不生效,而要加空格變成
.first?#ha{color:purple;}
才能生效,這又是為什么?
2021-02-24
加上空格表示.first的所有#ha子代;不加空格表示的是first#ha類,first#ha是一個整體
2021-02-24
p #second 是在p標簽里面找id為second的標簽,p#second 是找id為second的p標簽