ホームページ >ウェブフロントエンド >CSSチュートリアル >どのようにCSS:is、:where and:pseudoclassセレクターが機能しているか
段落要素を見つけて、フォントの重みを太字に変更します。
<span>p { </span> <span>font-weight: bold; </span><span>} </span>
段落テキストはデフォルトでは黒ですが、
<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>ネイティブネストが到着するまで、CSSビルドツールが必要になります。 SASSのようなオプションを使用することをお勧めしますが、一部の開発チームに合併症を導入できます。
要素に緑色のテキスト色を適用します。
<span>article, section, aside { </span> <span>p { </span> <span>color: #444; </span> <span>} </span> <span>} </span>CSS:ここでは、擬似クラスセレクター
<span><span>:is(article, section, aside) p</span> { </span> <span>color: #444; </span><span>} </span>:where()selector構文は次のように同一であり、すべての最新のブラウザー(IEではなく)でサポートされています。多くの場合、同一のスタイリングになります。例えば:
<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>特異性
<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を次のHTMLに適用しましょう。 次のCodepenデモに示すように、段落のテキストは赤色になります。 ペンを参照してください 使用:SELECTORによるISセレクター(@SitePoint) codepen。
<span><span>:where(article, section, aside) p</span> { </span> <span>color: #444; </span><span>} </span>:is()セレクターは記事Pと同じ特異性を持っていますが、スタイルシートの後半に掲載されるため、テキストは赤くなります。青色を適用するために、記事pと:is()セレクターの両方を削除する必要があります。 より多くのコードベースが使用されます:is()より:where()。ただし、次のゼロ特異性は、cssリセットのゼロ特異性をリセットすることができます。これは、特定のスタイリングが利用できない場合に標準スタイルのベースラインを適用します。通常、リセットはデフォルトのフォント、色、パディング、マージンを適用します。 この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>より良い選択は、cssリセットのゼロ特異性を採用することです。
<span>article, section, aside { </span> <span>p { </span> <span>color: #444; </span> <span>} </span> <span>} </span>特異性に関係なく、CSSリセットスタイルをオーバーライドできるようになりました。さらなるセレクターまたは!重要なものは必要ありません: CSS:擬似クラスセレクター
<span><span>:is(article, section, aside) p</span> { </span> <span>color: #444; </span><span>} </span>があります :has()セレクターは、同様の構文を次のように使用します。たとえば、1つ以上のタグを含む リンクに青色の2ピクセルの境界を追加するためのCSSは次のとおりです。
<span>article section<span>:not(:first-child):is(.primary, .secondary) :is(h1, h2, p)</span> { </span> <span>color: green; </span><span>} </span>これは数十年で最もエキサイティングなCSS開発です!
<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:is、:where and:pseudoclassセレクターが機能しているかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。