技術共有

CSS [詳細説明] スタイルセレクター(ID、クラス、タグ、ワイルドカード、属性、疑似クラス、疑似要素、コンテンツ属性、子、子孫、兄弟、隣接兄弟、交差、共用体、その他のセレクターを含む)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

CS スタイル セレクター。ページ内の HTML 要素を選択して CSS スタイルを追加するために使用されます。

レンダリング パフォーマンスが高い順に並べ替えます に続く:

ID セレクタ #id

id 属性で要素を選択します (大文字と小文字が区別されます)。

<p id="p1" >第一段</p>
  • 1
#p1{
  color: red;
}
  • 1
  • 2
  • 3

ただし、次の理由からその使用はお勧めできません。

  • ID セレクターの優先順位が高く、スタイルをリセットするのは不便です。
  • ID セレクターは主に JS によって使用されます。

クラスセレクター .class

要素の class 属性を通じてスタイル選択した要素のクラス名は大文字と小文字が区別されます

最も推奨される CSS セレクターは、クラス セレクターが強力なセマンティクスを持ち、スタイルを簡単にリセットできることです。

<span class="important" >重点词汇</span>
  • 1
.important{
  color: red;
  font-weight: bold;
}
  • 1
  • 2
  • 3
  • 4

複数のスタイル クラスをスペースで区切って同じ要素に追加できます。

<span class="important big" >巨大的重点词汇</span>
  • 1
.important {
  color: red;
  font-weight: bold;
}
.big {
  font-size: 60px;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

タグセレクター 标签名

大文字と小文字を区別せず、タグ名で要素を選択します

<a href="https://www.baidu.com/" target="_blank" >百度</a>
  • 1
a {
  text-decoration: none; /* 无文本装饰(消除默认的下划线) */
}
  • 1
  • 2
  • 3

タグセレクターのパフォーマンスが悪く、メンテナンスコストが高いため推奨されません

ワイルドカードセレクター *

疑似要素を除くページ内のすべての HTML 要素を選択します。ブラウザのデフォルト スタイルをクリアするためによく使用されますが、パフォーマンスが消費されるためお勧めできません。

/* 清除所有html标签默认的外边距和内边距 */
* {
  margin: 0;
  padding: 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5

属性セレクター [属性]

属性と属性値に基づいて要素を選択します。属性では大文字と小文字が区別されません。また、属性値では大文字と小文字が区別されます。

属性セレクター説明する
[属性]指定された属性を持つ要素を選択するために使用されます。
[属性=価値]指定された属性と値を持つ要素を選択するために使用されます。
[属性~=価値]属性値に指定された語彙が含まれる要素を選択するために使用されます。属性値の複数の組み合わせが含まれるシナリオに非常に適しています。
[属性|=価値]フラグメントセレクターを開始する属性値。値は単語全体である必要があります。
[属性^=価値]属性値が指定された値で始まるすべての要素と一致します。
[属性$=価値]属性値が指定された値で終わるすべての要素と一致します。
[属性*=価値]属性値に指定された値が含まれるすべての要素と一致します。

疑似クラスセレクター :状态名

さまざまな状態に基づいて要素を選択する

同一个标签,不同的状态,有不同的样式,就叫做“伪类”
  • 1
疑似クラスセレクター説明例
:アクティブa:アクティブアクティブなリンクを選択します。 (マウスがラベルをクリックしたまま放さない場合)
:チェック済み入力:チェック済み選択したそれぞれを選択します<input>要素。
:無効入力:無効それぞれを選択して無効にします<input>要素。
:空のp:空子要素を持たないすべての要素を選択します<p>要素。
:有効入力:有効有効になっているものをそれぞれ選択します<input>要素。
:第一子p:最初の子親の最初の子である各要素を選択します<p>要素。
:最初のタイプp:最初のタイプ最初のものを親として選択します<p>それぞれの要素<p>要素。
:集中入力:フォーカス焦点を当てたものを選択してください<input>要素。
:ホバーホバーマウスオーバーしたリンクを選択します。
:範囲内で入力:範囲内指定された範囲の値を選択します<input>要素。
:無効入力:無効無効な値を含むすべてを選択<input>要素。
:lang(言語)p:lang(it)「it」で始まる各 lang 属性値を選択します<p>要素。
:最後の子p:最後の子親の最後の子要素である各要素を選択します<p>要素。
:最後のタイプp:最後のタイプ最後のものを親として選択します<p>それぞれの要素<p>要素。
:リンクリンク未訪問のリンクをすべて選択します。
:ない(セレクタ):ない§それぞれの非を選択してください<p>要素の要素。
:n番目の子()p:n番目の子(2)その親である 2 番目の子要素をそれぞれ選択します<p>要素。
:n番目最後の子()p:n番目最後の子(2)親である 2 番目の子要素をそれぞれ選択します<p>最後の子要素から数えた要素。
:n番目最後のタイプ()p:n番目最後のタイプ(2)2 番目のものを親として選択します<p>それぞれの要素<p>最後の子要素から数えて要素
:n番目の型()p:n番目の型(2)2 番目を親として選択します<p>それぞれの要素<p>要素。
:only-of-typep:only-of-typeその親であるもののみを選択します<p>それぞれの要素<p>要素。
:一人っ子p:一人っ子その親である唯一の子要素を選択します<p>要素。
:オプション入力:オプション「必須」属性なしで選択してください<input>要素。
:範囲外入力:範囲外指定範囲外の値を選択してください<input>要素。
:読み取り専用入力:読み取り専用「readonly」属性が指定されているものを選択します<input>要素。
:読み書き入力:読み書き「readonly」属性なしで選択します<input>要素。
:必須入力:必須「required」属性が指定されているものを選択してください<input>要素。
:根要素のルート要素を選択します。
:目標#ニュース:ターゲット現在アクティブな #news 要素を選択します (アンカー名を含む URL をクリックします)。
:有効入力:有効有効な値を含むすべてを選択します<input>要素。
:訪問a:訪問した訪問したリンクをすべて選択します。

リストで疑似クラスセレクターを使用する

疑似クラスセレクター意味
li:n番目の子(2)2番目のリ
li:n番目の子(n)すべてのこと
li:n番目の子(2n)すべて偶数の li
li:n番目の子(2n+1)すべての奇数の li
li:n番目の子(-n+5)最初の5里
li:n番目最後の子(-n+5)最後の5里
li:n番目の子(7n)7の倍数を選択してください

nは0,1,2,3,4,5,6,7,8...を意味します(nが1未満の場合はn=0が選択されないため無効です)

テーブルで擬似クラスセレクターを使用する

  • tr:nth-child(odd):テーブルの行 1、3、および 5 と一致します。これは次と同等です。tr:nth-child(2n+1)
  • tr:nth-child(even): テーブルの行 2、4、および 6 と一致します。これは次と同等です。tr:nth-child(2n)
  • 擬似クラスセレクターの具体例

    擬似要素セレクター ::

    要素全体ではなく、要素の一部を選択してスタイル設定するために使用されます。

    CSS2中伪元素采用单冒号前缀语法, CSS2.1中伪元素改用双冒号前缀,所有支持双冒号的浏览器同样也支持旧的单冒号语法。考虑浏览器兼容性的话,推荐使用旧的单冒号语法,否则建议使用新的双冒号前缀
    
    • 1

    ::before そして::after

    要素の前後にコンテンツを設定するには、content 属性と一緒に使用する必要があります。詳細については、を参照してください。
    https://blog.csdn.net/weixin_41192489/article/details/115100040

    一般的に使用される実際の例:

    ::first-letter イニシャル

    <p>很久很久以前</p>
    <p>Long long ago</p>
    
    • 1
    • 2
    p::first-letter {
      font-size: 2em;
      color: red;
    }
    
    • 1
    • 2
    • 3
    • 4

    ここに画像の説明を挿入します

    ::first-line 最初の行

      <div style="width: 120px">
        <p>很久很久以前,有一个白发苍苍的老人</p>
      </div>
    
    • 1
    • 2
    • 3
    p::first-line {
      color: red;
    }
    
    • 1
    • 2
    • 3

    ここに画像の説明を挿入します

    ::selection マウスをドラッグして領域を選択します

    <p>很久很久以前,有一个白发苍苍的老人</p>
    
    • 1
    p::selection {
      color: red;
      background-color: yellow;
    }
    
    • 1
    • 2
    • 3
    • 4

    ここに画像の説明を挿入します

    ::placeholder テキストプレースホルダー

    <input placeholder="请输入" />
    
    • 1
    /* input 不写,则会选中页面所有元素的占位符 */
    input::placeholder {
      color: red;
    }
    
    • 1
    • 2
    • 3
    • 4

    ここに画像の説明を挿入します

    関係セレクター

    要素間の関係に基づいて要素を選択する

    子孫セレクター >

    タグ内にラップされた第 1 レベルのタグはその子孫です

    <div>
        <p>我是div的儿子</p>
    </div>
    
    • 1
    • 2
    • 3
    div>p{
      color:red;
    }
    
    • 1
    • 2
    • 3

    子孫セレクター 空格

    タグ内のすべてのタグはその子孫です

      <div class="parent">
        <p class="red">我是子代(属于后代)</p>
        <p>我是子代(属于后代,但没有 .red)</p>
        <div>
          <div class="red">我是孙代(也属于后代)</div>
        </div>
      </div>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    /* 所有属于.parent元素内部的.red元素都将被染成红色。*/
    .parent .red {
      color: red;
    }
    
    • 1
    • 2
    • 3
    • 4

    ここに画像の説明を挿入します

    兄弟セレクター ~

    同じ親要素の下で、指定された要素を選択しますすべての要素は同じレベルなので、厳密に言えば、 后面兄弟选择器

    <div>
      <button>按钮1(不会变红)</button>
      <p>段落</p>
      <button>按钮2(会变红)</button>
    </div>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    p ~ button {
      color: red;
    }
    
    • 1
    • 2
    • 3

    ここに画像の説明を挿入します

    CSS いいえ 前面兄弟选择器 、以下のリンクを参照して実装をシミュレートできます。
    https://blog.csdn.net/weixin_41192489/article/details/121784196

    近隣兄弟セレクター +

    要素の直後にある次の要素を選択します

      <div class="parent">
        <p>段落</p>
        <button>按钮1</button>
        <button>按钮2</button>
      </div>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    p + button {
      color: red;
    }
    
    • 1
    • 2
    • 3

    ここに画像の説明を挿入します

    交差点セレクター

    同時に複数のセレクターに一致するページ上の要素を選択します

    • セレクター間にスペースはありません (スペースは子孫セレクターです)
    • タグ セレクターが存在する場合は、タグ セレクターを最初に配置する必要があります
        <p class="red">很久很久以前1</p>
        <p>很久很久以前2</p>
    
    • 1
    • 2
    /* 选中 p 标签中class值含 red 的元素 */
    p.red {
      color: red;
    }
    
    • 1
    • 2
    • 3
    • 4

    ここに画像の説明を挿入します

    ユニオンセレクター ,

    複数のセレクターのうち、いずれか 1 つが満たされていれば、そのセレクターが選択されます。

    • 複数のセレクター間で使用されます ,
     <p class="error">报错信息</p>
     <p class="important">重要信息</p>
     <p>其他信息</p>
    
    • 1
    • 2
    • 3
    .error,
    .important {
      color: red;
    }
    
    • 1
    • 2
    • 3
    • 4

    ここに画像の説明を挿入します