CSS での高度な要素選択- テクニックと例

疑似クラス

疑似クラスを使用すると、要素の特定の状態または位置を選択できます。 たとえば、 :hover マウス ポインタが上にあるときに要素を選択し、 :focus 要素が選択されているかフォーカスされているときに要素を選択し、 :nth-child() グループ内の特定の子要素を選択します。

例:

/* Select all links when hovered over and change the text color */  
a:hover {  
  color: red;  
}  
  
/* Select the <input> element when it is focused and change the border */  
input:focus {  
  border: 2px solid blue;  
}  
  
/* Select the second element in a group of <li> elements and change the text color */  
li:nth-child(2) {  
  color: green;  
}  

 

擬似要素

疑似要素を使用すると、仮想要素を作成して既存の要素をカスタマイズできます。

たとえば、 要素の前後に要素を作成し、 ::before 要素 の 最初の行と最初の文字を選択します。 ::after ::first-line ::first-letter

例:

/* Add content before each <p> element and style it */  
p::before {  
  content: ">> ";  
  font-weight: bold;  
  color: gray;  
}  
  
/* Style the first letter of <h1> element */  
h1::first-letter {  
  font-size: 2em;  
  font-weight: bold;  
  color: red;  
}  

 

コンビネータ

コンビネータを使用すると、セレクタを組み合わせて、要素の関係に基づいて要素を選択できます。 たとえば、 の内部を element1 element2 選択し 、 の直接の子要素を選択し 、の 直後を 選択します 。 element2 element1 element1 > element2 element1 element1 + element2 element2 element1

例:

/* Select <span> elements inside an element with class "container" */  
.container span {  
  color: purple;  
}  
  
/* Select <li> elements that are direct children of <ul> */  
ul > li {  
  list-style-type: square;  
  color: blue;  
}  

 

属性セレクター

属性セレクターを使用すると、属性の値に基づいて要素を選択できます。 たとえば、 [attribute] 属性が の要素を選択し attribute[attribute=value] 属性が に attribute 等しい要素を選択し value[attribute^=value] 属性が で attribute 始まる要素を選択します value

例:

/* Select all elements with the attribute data-type */  
[data-type] {  
  font-weight: bold;  
  color: orange;  
}  
  
/* Select all <a> elements with the href attribute starting with "https://" */  
a[href^="https://"] {  
  color: blue;  
  text-decoration: underline;  
}  

 

:not() セレクタ

セレクター を使用すると、特定のセレクターに一致しない要素を選択できます。 たとえば、 class を持たない要素を選択し 、 ID を持たない要素を選択します 。 :not() :not(.class) class :not(#id) id

例:

/* Select all <div> elements that do not have the class "hidden" */  
div:not(.hidden) {  
  display: block;  
  background-color: lightgray;  
}  
  
/* Select all <input> elements that do not have the ID "email-input" */  
input:not(#email-input) {  
  border: 1px solid gray;  
}  

 

これらの例は、CSS での高度な要素の選択を示しています。 これらのテクニックをカスタマイズおよび適用して、必要に応じて Web ページ上の要素のスタイルを設定したりカスタマイズしたりできます。