CSSセレクタと優先度
33626 ワード
CSSセレクタとは?
HTMLドキュメントでCSSスタイルを使用するには、スタイルをどの要素に減らすかを選択する必要があります.
CSSの選択者は、スタイルをどのHTML要素に適用するかを示す要素です.
*(すべて選択)-すべての要素を選択します。
* {
color: red;
}
上のCSSコードは、ドキュメント内のすべての要素にcolor:red属性を付与します.
タグ名(タグセレクタ)-タグ名の要素を選択します。
li {
color: red;
}
上記CSSコードは、文書にliと表記されている要素に適用されます.
.クラス名(クラスセレクタ)-クラス名のタグを持つ要素を選択します。
--------------------------------HTML--------------------------------------
<div class="box"></div>
--------------------------------CSS---------------------------------------
.box {
width: 100px;
height: 100px;
color: orange;
}
上記CSSコードは、文書内のクラス名boxの要素に適用されます.
#ID名(ID選択者)-ID名が同じ要素を選択します。
--------------------------------HTML--------------------------------------
<div id="box"></div>
--------------------------------CSS---------------------------------------
#box {
width: 100px;
height: 100px;
color: orange;
}
上記CSSコードは、文書中のIDがboxの要素に適用されます.
選択者1選択者2(複合選択者)-選択者1と選択者2を同時に満たす要素を選択します。
--------------------------------HTML--------------------------------------
<div class="box"></div> 1번
<span class="box"></span> 2번
--------------------------------CSS---------------------------------------
div.box {
width: 100px;
height: 100px;
color: orange;
}
上記CSSコードは、divタグを有し、クラス名がboxの最初の要素に適用されます.
選択者1>選択者2(サブ選択者)選択者1のサブエレメント選択者2
--------------------------------HTML--------------------------------------
<ul class="list">
<li class="item1">1</li> 1
<li class="item2">2</li> 2
<li class="item3">3</li> 3
</ul>
<ul class="list2">
<li class="item1">1</li> 4
<li class="item2">2</li> 5
<li class="item3">3</li> 6
</ul>
--------------------------------CSS---------------------------------------
.list > item1 {
color: red;
}
スタイルは、親クラス名がlistで、クラス名がitem 1の最初の要素に適用されます.
[選択者1][選択者2](サブ選択者)[選択者1]を選択した[サブエレメント選択者2]
--------------------------------HTML--------------------------------------
<ul class="list">
<li class="item">1</li> 1
<li class="item">2</li> 2
<li class="item">3</li> 3
</ul>
<ul class="list2">
<li class="item1">1</li> 4
<li class="item2">2</li> 5
<li class="item3">3</li> 6
</ul>
--------------------------------CSS---------------------------------------
.list item {
color: red;
}
Listセレクタのサブエレメントでは、クラス名itemのエレメントは1番2番3番であるため、スタイルは1番2番3番にのみ適用されます.
選択者1+選択者2選択者1の次の兄弟要素のうち、選択者2を満たす最初の要素
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li class="red">2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
.red + li {
color: blue
}
クラス名redと呼ばれる要素の次の兄弟要素では、最初の要素の値が3なので、3番目の色はblueです.
選択者1~選択者2選択者1のすべての後続兄弟要素。
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li class="red">2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
.red ~ li {
color: blue
}
クラス名redの要素の次の兄弟要素は3番4番5番であるため、3番4番5番の色は青になります.
バーチャルクラスセレクタボックス
選択者が特定のステータスを持つ時間を指定します.たとえば、特定のセレクタがフォーカスされている場合、マウスカーソルが上昇している場合、いくつかの要素である場合などです.
選択プログラム1:hover-選択プログラム1の要素にマウスカーソルを合わせたときに選択
--------------------------------HTML--------------------------------------
<a href="https://www.google.com/">구글</a>
--------------------------------CSS---------------------------------------
a:hover {
color: green;
}
マウスカーソルがaラベルにぶら下がっている場合、フォントは緑に変わります.
選択プログラム1:active-選択プログラム1要素をマウスクリックして選択
--------------------------------HTML--------------------------------------
<a href="https://www.google.com/">구글</a>
--------------------------------CSS---------------------------------------
a:active {
color: green;
}
aラベルでマウスをクリックすると、フォントが緑に変わります.
選択者1:focus-選択者要素がフォーカスされて選択
--------------------------------HTML--------------------------------------
<input type="text" />
--------------------------------CSS---------------------------------------
input:focus {
background-color: green;
}
Input要素に値を入力すると、背景色が緑に変わります.
選択者:first-schild選択者兄弟要素の最初の選択
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
ul li:first-child {
color: red
}
ulのサブエレメントliの1つ目は1を加えたliです.そのため1のフォントは赤になります.
選択者:last-child選択者は兄弟要素の中で最も小さい
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
ul li:last-child {
color: red
}
ulのサブエレメントliの最後の5が選択され、赤になります.
選択者:n回-child(n)選択者要素のn番目の要素を選択
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
ul li:nth-child(3) {
color: red
}
ulのサブエレメントで3番目のliエレメントを選択します.
nh-child(n)の応用
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
ul li:nth-child(2n) {
color: blue
}
ul li:nth-child(2n + 1) {
color: red
}
ul li:nth-child(n + 2) {
color: orange
}
ul li:nth-child(-n + 3) {
color: green
}
()にnがある場合、nは0から始まると考えられ、順次増加する.
最初のスタイルは0 2 4 6...このように成長する.
2つ目のスタイルは1 3 5 7...このように増加します.
3つ目のスタイルは2 3 4 5...
4つ目のスタイルは3 2 1...
特定のルールのある子供を一度に選ぶのに適しています.
選択要素1:not(選択者2)選択者2ではなく選択者1
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li>2</li>
<li class="test">3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
li:not(.test) {
color: red
}
1 2 4 5が選択され、色が変わります.
セレクタ要素の内側の前に内容を挿入:before
セレクタ要素の内部:after-コンテンツの挿入
--------------------------------HTML--------------------------------------
<div class="box">
안녕!
</div>
--------------------------------CSS---------------------------------------
.box::before {
content: "나는 앞에!";
}
.box::after {
content: "나는 뒤에!";
}
属性属性を含む要素を選択
属性=値属性で同じ値を持つ要素を選択
--------------------------------HTML--------------------------------------
<input type="text">
<input type="password" />
<input type="text" disabled />
--------------------------------CSS---------------------------------------
[type] {
background-color: orangered;
}
[disabled] {
background-color: orange;
}
[type="password"] {
background-color: orchid;
}
Reference
この問題について(CSSセレクタと優先度), 我々は、より多くの情報をここで見つけました
https://velog.io/@kimjungmini0601/CSS-선택자와-우선순위
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
* {
color: red;
}
li {
color: red;
}
--------------------------------HTML--------------------------------------
<div class="box"></div>
--------------------------------CSS---------------------------------------
.box {
width: 100px;
height: 100px;
color: orange;
}
--------------------------------HTML--------------------------------------
<div id="box"></div>
--------------------------------CSS---------------------------------------
#box {
width: 100px;
height: 100px;
color: orange;
}
--------------------------------HTML--------------------------------------
<div class="box"></div> 1번
<span class="box"></span> 2번
--------------------------------CSS---------------------------------------
div.box {
width: 100px;
height: 100px;
color: orange;
}
--------------------------------HTML--------------------------------------
<ul class="list">
<li class="item1">1</li> 1
<li class="item2">2</li> 2
<li class="item3">3</li> 3
</ul>
<ul class="list2">
<li class="item1">1</li> 4
<li class="item2">2</li> 5
<li class="item3">3</li> 6
</ul>
--------------------------------CSS---------------------------------------
.list > item1 {
color: red;
}
--------------------------------HTML--------------------------------------
<ul class="list">
<li class="item">1</li> 1
<li class="item">2</li> 2
<li class="item">3</li> 3
</ul>
<ul class="list2">
<li class="item1">1</li> 4
<li class="item2">2</li> 5
<li class="item3">3</li> 6
</ul>
--------------------------------CSS---------------------------------------
.list item {
color: red;
}
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li class="red">2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
.red + li {
color: blue
}
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li class="red">2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
.red ~ li {
color: blue
}
--------------------------------HTML--------------------------------------
<a href="https://www.google.com/">구글</a>
--------------------------------CSS---------------------------------------
a:hover {
color: green;
}
--------------------------------HTML--------------------------------------
<a href="https://www.google.com/">구글</a>
--------------------------------CSS---------------------------------------
a:active {
color: green;
}
--------------------------------HTML--------------------------------------
<input type="text" />
--------------------------------CSS---------------------------------------
input:focus {
background-color: green;
}
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
ul li:first-child {
color: red
}
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
ul li:last-child {
color: red
}
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
ul li:nth-child(3) {
color: red
}
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
ul li:nth-child(2n) {
color: blue
}
ul li:nth-child(2n + 1) {
color: red
}
ul li:nth-child(n + 2) {
color: orange
}
ul li:nth-child(-n + 3) {
color: green
}
--------------------------------HTML--------------------------------------
<ul>
<li>1</li>
<li>2</li>
<li class="test">3</li>
<li>4</li>
<li>5</li>
</ul>
--------------------------------CSS---------------------------------------
li:not(.test) {
color: red
}
--------------------------------HTML--------------------------------------
<div class="box">
안녕!
</div>
--------------------------------CSS---------------------------------------
.box::before {
content: "나는 앞에!";
}
.box::after {
content: "나는 뒤에!";
}
--------------------------------HTML--------------------------------------
<input type="text">
<input type="password" />
<input type="text" disabled />
--------------------------------CSS---------------------------------------
[type] {
background-color: orangered;
}
[disabled] {
background-color: orange;
}
[type="password"] {
background-color: orchid;
}
Reference
この問題について(CSSセレクタと優先度), 我々は、より多くの情報をここで見つけました https://velog.io/@kimjungmini0601/CSS-선택자와-우선순위テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol