指定したセレクタに一致しない要素に対して、スタイルを適用(:not())

特定の要素に対してのみスタイルを適用する方法は、nth-child()などを含め、色々と存在するが、:not()という疑似要素を使用することでも実現することが可能。

今回は、:not()の使用方法についてまとめてみる。

HTMLソースを準備

以下のようなHTMLソースを準備する。

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>DEMO</title>
        <link rel="stylesheet" href="./style.css">
    </head>
    <body>
        <p class="demo">
            <span>テキスト01</span>
            <span>テキスト02</span>
        </p>
        <p class="sample">
            <span>テキスト03</span>
        </p>
    </body>
</html>

擬似要素(:not())の設定

CSS側で以下のように記述。

.demo {
    padding: 2px 5px;
    background-color: rgb(237, 199, 123);
}

/*  demoという名前のclass属性が設定されていないp要素に対し、スタイルを適用  */
p:not(.demo) {
    font-weight: bold;
    background-color: aquamarine;
}

基本的な書き方は以下の通り。

セレクタ名:not(任意のセレクタ名) {
  /* スタイルを記述 */
}

動作確認

以下のように、指定したセレクタをもつ要素以外には、スタイルが適用されていなければOK。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です