亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當<p>遇上:first-child出現的問題

當<p>遇上:first-child出現的問題

守著一只汪 2018-07-08 10:36:58
多層<p>相互嵌套,然后用p:first-child選擇器,無法正確選擇,代碼:<body>     <p>111                 <p>222                         <p>333</p>          </p>     </p> </body>此時用 p:first-child{color:red;} ,只有111變為紅色,為什么不是所有數字變紅?我嘗試把所有<p>換為<span>或者<div>或者<code>,再換用相應的選擇器,均能實現全部數字變紅。我所理解的p:first-child,可以選擇到的標簽必須滿足2個條件:元素名為p(廢話)該p是作為第一個子元素(無關乎父元素是哪個)是我對 :first-child 這個偽類理解錯了,還是<p>特有的原因,導致全部數字不能變紅?
查看完整描述

2 回答

?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

p 標簽是不允許嵌入 p 標簽內.

所以你的嵌入層級的 p 在瀏覽器看來是這樣的.

<p> // 第一個 p

    <p>  // 自動為第一個 p 補全關閉標簽, 開始第二個 p

        <p> // 自動為第二個 p 補全關閉標簽, 開始第三個 p

        </p> // 第三個 p 結束

    </p> // 第四個 p 開始, 為其補充開始標簽

</p> // 第五個 p 開始, 為其補充開始標簽

結果就是:

<p></p> // 只有這個滿足 p:first-child

<p></p>

<p></p>

<p></p>

<p></p>


查看完整回答
反對 回復 2018-07-12
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

題主問了一個有意思的問題。

稍微試驗了一下,很容易從DOM結構得到:

<p><p><p></p></p></p>這樣的結構會被瀏覽器解析為:

<!--生成了5個p-->
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>

證明p中遇到p標簽會自動閉合。

在p中不能包含塊級元素,比如<p><div></div></p>

同樣會被解析成:

<p></p>
<div></div>
<p></p>
按新的 HTML 規范,已經不按 inline 和 block 來區分元素類型了。在規范中每個元素會規定如下兩項:Categories、 Content Model?
Categories 是改元素本身的分類,content model 規定了合法的元素的內容(子元素、文本等)類型。


查看完整回答
反對 回復 2018-07-12
  • 2 回答
  • 0 關注
  • 715 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號