0Pricing
HTML for Kids · レッスン

セレクターの種類

セレクターの種類

「セレクターの種類」はCoddyKit上の無料HTML for Kidsレッスンです。 これはレッスン1/1です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHTML for Kids学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 HTML for Kidsコースには全1レッスンが含まれています。

概要

こんにちは。

このレッスンでは、より複雑なセレクターを使ってCSSの知識をさらに深めます。

複数のスタイル定義

各スタイルの間にセミコロンを置くことで、複数のスタイルを定義できます。

.first{
   color:blue;
   font-size:20px;
   text-align: center;
}

より複雑なHTMLドキュメント

これまでは、単純なタグ、id、クラスセレクターを扱ってきました。しかし、ユーザーインターフェースが複雑になると、より複雑なセレクターが必要になる場合があります。

以下の例では、より複雑なHTMLドキュメントを扱います。

<body>
	<div id="my-area">
		<p class="first">lorem</p>
		<div class="second">
				<p class="third">Ipsum</p>
	</div>
  </div>
</body>

例を分析する

それでは、コードを分析してみましょう。

  • ページのbody内にコンテナーとして機能するmy-areaというidを持つdivがあります。このdivは、その内部にあるすべての要素の祖先です。
  • firstクラスを持つp要素は、secondクラスを持つdiv要素の兄弟要素です。
  • 3番目の要素は2番目の要素の子要素であり、my-area要素は3番目の要素の祖先とみなせます。

警告

HTMLのレイアウトは、文字どおり家系図のようなものだと考えることができます。

祖父から遺伝的に受け継ぐことがあります。

しかし、この遺伝が父親の代で変化すると、父親の遺伝子のほうが強く現れ、祖父から受け継いだ特徴も変化します。

セレクターの組み合わせ

それでは、セレクターを組み合わせる方法を見てみましょう。

次の記述は、2番目のクラスを持つ要素が、3番目のクラスを持つ要素の子孫(子または孫)であることを示します。

2つのクラスの間にスペースがある場合、左側のクラスが子孫を探すことを意味します。

.second .third{
	color:red;
}

子セレクター

以下の例では、

2番目のクラスの子要素である3番目のクラスを選択することを意味します。

大なり記号は、対象要素の子要素を選択することを意味します。

.second > .third{
	color:red;
}

タグセレクターとクラスセレクターを組み合わせて要素を選択できます。

同時に、タグセレクターとクラスセレクターを組み合わせて要素を選択することもできます。

以下の例では、thirdクラスを持つp要素が選択されます。

<style>

p.third{
	color:red;
}

</style>


<p class="third">Hello CSS</p>

firstクラスを持つdivを選択するとします。

firstクラスを持つdivを選択するとします。

以下の例は、my-areaというidを持つdiv要素の子要素である、firstクラスを持つ要素を選択することを意味します。

これにより、選択対象の要素の詳細度が高くなります。


div#my-area > .first{
color:red;
}

すべてを選択する

アスタリスク記号(*)は、セレクターの中で重要な役割を持ちます。

これは、すべてを選択することを意味します。

以下の例では、my-areaというidを持つ要素のすべての子孫を選択することを示しています。

ここで注意すべき点は、子要素だけでなく、すべての子孫要素が対象になることです。

子要素だけを選択したい場合は、アスタリスクの前に大なり記号を置く必要があります。

/* It chooses all the descendants of #my-area. */
#my-area *{
	color:red;
}

/* It chooses all the children of #my-area. */
#my-area > *{
	color:red;
}

隣接兄弟セレクター

これまでに子孫セレクターと子セレクターを使用しました。次は兄弟セレクターについて学びましょう。

兄弟セレクターでは、+記号を使って次の兄弟要素を選択します。

この例では、セレクターによって3番目の段落要素の背景色が黄色になります。

<!DOCTYPE html>
<html>
<head>
<style>
div + p {
  background-color: yellow;
}
</style>
</head>
<body>

<div>
  <p>Paragraph 1 in the div.</p>
  <p>Paragraph 2 in the div.</p>
</div>

<p>Paragraph 3. Not in a div.</p>
<p>Paragraph 4. Not in a div.</p>

</body>
</html>

一般兄弟セレクター

次に続く最初の兄弟要素だけでなく、その後に続くすべての兄弟要素を選択したい場合は、チルダ記号(~)を使用します。

チルダ記号は、後続兄弟結合子とも呼ばれます。

<style>

div ~ p {
  background-color: red;
}

</style>

<p>Paragraph 1.</p>
<div>
  <p>Paragraph 2.</p>
</div>
<span>span element.</span>
<p>Paragraph 3.</p>
<p>Paragraph 4</p>

疑似クラスとCSSクラス

クラスではないものの、クラスのように動作する表現を疑似クラスと呼びます。

HTMLでは、どの要素にも疑似クラスを定義しません。

ブラウザーがコードを解釈すると、疑似クラスが存在するものとして扱います。そのため、CSSセレクターで疑似クラスを使用できます。

:hover疑似クラス

疑似クラスの中でも、:hoverは間違いなく最もよく知られています。

ホバー(:hover)は、マウスが要素の上に移動したときに、ブラウザーによって対象要素に自動的に適用される疑似クラスです。

疑似クラスは、セレクターの記述でコロン(:)記号の後に指定します。

疑似クラスの使用方法を、以下の構文で示します。

selector:pseudo-class {
   property: value;
}

:hoverでリンクをスタイリングする

それではリンクを作成し、ホバーしたときにどのように表示されるかを見てみましょう。

警告:モバイルデバイスにはWebのようなホバーイベントがないため、この効果はCoddykitのモバイルアプリケーションでは表示されません。

以下の例では、マウスでリンクにホバーすると、リンクの色が緑に変わることを確認します。

<!DOCTYPE html>
<html>
<head>
<style>

.my-link{
	color:red;
	}

.my-link:hover{
	color:green;
}

</style>
</head>
<body>

<a class="my-link" href="https://www.coddykit.com">
CoddyKit Homepage Link
</a>

</body>
</html>

:first-child疑似クラス

最も混乱しやすい疑似クラスの1つが:first-childです。

通常、名前から判断すると、要素の最初の子要素を選択するものだと考えます。

しかし、この推測は正しくありません。

要素の兄弟要素の中から、最初の要素を選択するために使用します。

<!DOCTYPE html>
<html>
<head>
<style>

/* Chooses the first p element 
among children of the my-box class. */

.my-box p:first-child {
  font-size: 24px;
} 
</style>
</head>
<body>

<div class="my-box">
  <p>This is first text.</p>
  <p>This is second text.</p>
  <p>This is third text.</p>
</div>
</body>
</html>

:last-child疑似クラス

last-childは、first-child疑似クラスの反対です。要素の兄弟要素の中から、最後の要素を選択するために使用します。

<!DOCTYPE html>
<html>
<head>
<style>

/* Chooses the last p element 
among children of the my-box class. */

.my-box p:last-child {
  font-size: 24px;
} 
</style>
</head>
<body>

<div class="my-box">
  <p>This is first text.</p>
  <p>This is second text.</p>
  <p>This is third text.</p>
</div>
</body>
</html>

::before疑似要素

要素の前に何かを追加したい場合は、::before疑似セレクターを使用します。

以下の例では、header要素の前に「Hello」というコンテンツを追加しています。

<!DOCTYPE html>
<html>
<head>
<style>
	h1::before {
			content: "Hello ";
	}
</style>
</head>
<body>

<h1>Coddykit</h1>
<h1>Coddykit</h1>
<h1>Coddykit</h1>

</body>
</html>

::after疑似要素

::before疑似要素の反対である::after疑似要素は、要素の後に新しいコンテンツを追加するために使用します。

<!DOCTYPE html>
<html>
<head>
<style>
	h1::after {
			content: " Coddykit";
	}
</style>
</head>
<body>

<h1>Hello</h1>
<h1>Hello</h1>
<h1>Hello</h1>

</body>
</html>

リストのPseudo Class

最もよく使われるpseudo-classについて学びました。しかし、ほかにも数十種類あります。

以下のリンクから、すべてのpseudo-classの一覧を確認できます。必要に応じて、どれでも使用できます。

おめでとうございます

おめでとうございます 🎉

このセクションでは、Selectorの種類を学びました。

次のセクションでは、最もよく使われるCSSプロパティについて学びます。

セレクターの種類 — イラスト21

よくある質問

「セレクターの種類」レッスンは無料ですか?

はい。「セレクターの種類」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、HTML for Kidsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 HTML for Kidsコースには全1レッスンが含まれています。

「セレクターの種類」で何を学びますか?

セレクターの種類 ブラウザで直接実行するハンズオンコードでHTML for Kidsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

HTML for Kidsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのHTML for Kidsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/1です。

「セレクターの種類」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このHTML for Kidsレッスンでコードを書いて実行できますか?

はい。すべてのHTML for Kidsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

← HTML for Kidsに戻る