段落元素,並將字體重量更改為粗體:
<span>p { </span> <span>font-weight: bold; </span><span>} </span>document.queryselector()返回第一個匹配的html元素
段落文本默認為黑色,但是當它出現在
<span>p { </span> <span>font-weight: bold; </span><span>} </span>這會創建相同的CSS代碼,減少打字工作並防止錯誤。但:
<span>/* default black */ </span><span>p { </span> <span>color: #000; </span><span>} </span> <span>/* gray in <article>, <section>, or <aside> */ </span><span>article p<span>, </span></span><span>section p<span>, </span></span><span>aside p { </span> <span>color: #444; </span><span>} </span>
元素,這些元素是的孩子,該
<span>article, section, aside { </span> <span>p { </span> <span>color: #444; </span> <span>} </span> <span>} </span>
<span><span>:is(article, section, aside) p</span> { </span> <span>color: #444; </span><span>} </span>css:pseudo-class選擇器
<span>article section<span>:not(:first-child):is(.primary, .secondary) :is(h1, h2, p)</span> { </span> <span>color: green; </span><span>} </span>:withing()選擇器語法與:IS()相同,並且在所有現代瀏覽器(不是IE)中也得到了支持。它通常會導致相同的樣式。例如:
<span>article section<span>.primary:not(:first-child) h1, </span></span><span>article section<span>.primary:not(:first-child) h2, </span></span><span>article section<span>.primary:not(:first-child) p, </span></span><span>article section<span>.secondary:not(:first-child) h1, </span></span><span>article section<span>.secondary:not(:first-child) h2, </span></span><span>article section<span>.secondary:not(:first-child) p</span> { </span> <span>color: green; </span><span>} </span>差異是
<span>/* NOT VALID - selector will not work */ </span><span>div<span>:is(::before, ::after)</span> { </span> <span>display: block; </span> <span>content: ''; </span> <span>width: 1em; </span> <span>height: 1em; </span> <span>color: blue; </span><span>} </span>如果是:is(),特異性是其參數中最特定的選擇器。如果是:where(),特異性為零。 考慮以下CSS: 讓我們將此CSS應用於以下HTML: 如下所示,段落文本將被塗上紅色。
<span><span>:where(article, section, aside) p</span> { </span> <span>color: #444; </span><span>} </span>請參閱筆 使用:IS sitepoint(@SitePoint)的選擇器 在codepen。
<span>article p { color: #444; } </span><span>p { color: #000; } </span>上:IS()選擇器具有與文章P的特異性相同的特異性,但是在樣式表的稍後,因此文本變成紅色。有必要刪除p和:IS()選擇器以應用藍色的顏色,因為:where()選擇器比任何一個都不具體。 將使用更多的代碼庫:IS()而不是:whese()。但是,零特異性的零特異性:()對於CSS重置可能是實用的,CSS重置是在沒有特定樣式的情況下應用標準樣式的基線。通常,RESETS應用默認字體,顏色,槳和邊距。 此CSS重置代碼將1EM的最高邊距應用於
<span>p { </span> <span>font-weight: bold; </span><span>} </span>試圖在樣式表的稍後設置自定義
<span>/* default black */ </span><span>p { </span> <span>color: #000; </span><span>} </span> <span>/* gray in <article>, <section>, or <aside> */ </span><span>article p<span>, </span></span><span>section p<span>, </span></span><span>aside p { </span> <span>color: #444; </span><span>} </span>您可以使用更高特異性的選擇器來解決此問題,但對於其他開發人員來說,它是更多的代碼,不一定是顯而易見的。您最終會忘記為什麼需要它:
<span>article, section, aside { </span> <span>p { </span> <span>color: #444; </span> <span>} </span> <span>} </span>您還可以通過應用於每種樣式的重要性來解決問題,但是請避免這樣做! 一個更好的選擇是在您的CSS重置中採用零特異性:white():
<span><span>:is(article, section, aside) p</span> { </span> <span>color: #444; </span><span>} </span>現在,無論特異性如何,您都可以覆蓋任何CSS重置樣式;無需進一步的選擇器或!重要:
<span>article section<span>:not(:first-child):is(.primary, .secondary) :is(h1, h2, p)</span> { </span> <span>color: green; </span><span>} </span>
<span>article section<span>.primary:not(:first-child) h1, </span></span><span>article section<span>.primary:not(:first-child) h2, </span></span><span>article section<span>.primary:not(:first-child) p, </span></span><span>article section<span>.secondary:not(:first-child) h1, </span></span><span>article section<span>.secondary:not(:first-child) h2, </span></span><span>article section<span>.secondary:not(:first-child) p</span> { </span> <span>color: green; </span><span>} </span>CSS:具有偽級選擇器
<span>/* NOT VALID - selector will not work */ </span><span>div<span>:is(::before, ::after)</span> { </span> <span>display: block; </span> <span>content: ''; </span> <span>width: 1em; </span> <span>height: 1em; </span> <span>color: blue; </span><span>} </span>開發人員終於有一種方法來瞄準父元素! 難以捉摸的“家長選擇器”一直是最要求的CSS功能之一,但它會使瀏覽器供應商的性能並發症,因此已經很長時間了。用簡單的術語:
以上是CSS:IS,:wery and::pseudo-class選擇器工作的詳細內容。更多資訊請關注PHP中文網其他相關文章!