CSS疑似クラスの最も確実なガイド
あなたが初心者であろうと経験豊富なCSS開発者であろうと、あなたはおそらく聞いたことがあるでしょう 疑似クラス. 最も有名な疑似クラスはおそらく ホバー
, それは私達がそれがあるとき要素をスタイルすることを可能にします ホバー状態, すなわち、マウスなどのポインタデバイスがそれを指しているとき.
以前のマージンに関する投稿の概念:autoとCSS Floatsに続いて、この投稿の擬似クラスについて詳しく説明しました。様子を見よう 疑似クラスが本当に何であるか, それらがどのように機能するか、それらをどのように分類できるか それらが擬似要素とどう違うのか.
擬似クラスとは?
疑似クラスは、CSSセレクタに追加するためのキーワードです。 特別な州を定義する 属するHTML要素の。を使ってCSSセレクタに擬似クラスを追加することができます。 コロン構文 :
このような: a:ホバー…
CSSクラスは、トップメニュー項目やサイドバーウィジェットのタイトルなど、同じスタイルルールを適用したいHTML要素に追加できる属性です。つまり、CSSクラスを使って次のことができます。 HTML要素をグループ化または分類する どちらが似ているか.
疑似クラスは、それらも同様であるという意味でそれらと似ています。 同じ特性を共有する要素にスタイルルールを追加するために使用されます.
本物のクラスは ユーザー定義の そして ソースコードで見つけることができます, 例えば
, 擬似クラスは
WebブラウザのようにUA(ユーザエージェント)によって追加された, 所属するHTML要素の現在の状態に基づく.
疑似クラスの目的
の 通常のCSSクラスの仕事 です 要素を分類またはグループ化する. 開発者はそれらの要素がどのようにグループ化されるべきかを知っています:彼らはグループ化するために "メニューアイテム"、 "ボタン"、 "サムネイル"などのようなクラスを形成し、そして類似の要素をスタイルします。これらの分類は、次の要素の特性に基づいています。 開発者自身によって与えられた.
たとえば、開発者が
サムネイルオブジェクトとして、彼女または彼はそれを分類することができます
"thumbnail"クラスを使って.
[…]
しかしHTML要素は 彼ら自身の共通の特徴 それらの状態、位置、性質、およびページとユーザーとの対話に基づきます。これらの特徴は ではない 通常HTMLコードでマークされている, しかし私達はできます 疑似クラスでそれらをターゲットにする CSSでは、例えば:
- である要素 最終 その親要素内の子
- あるリンク 訪れた
- 消えた要素 全画面表示.
これらは、擬似クラスが一般的に対象としている種類の特性です。クラスと疑似クラスの違いをよく理解するために、クラスを使用しているとしましょう。 .最終
異なる親コンテナ内の最後の要素を識別するため.
これらの最後の子要素には、次のCSSを使用してスタイルを設定できます。
li.last テキスト変換:大文字。 option.last font-style:italic;
しかし、最後の要素が変わるとどうなりますか?まあ、私たちは移動する必要があります .最終
前の最後の要素から現在の要素までのクラス.
この面倒な 更新クラスはユーザエージェントに任せることができます, 少なくとも要素間で共通の特性について(そして最後の要素であることはそれが得ることができるのと同じくらい共通です). 持っている 定義済み :最後の子
疑似クラス 本当に便利です。このように、私たちは 最後の要素を示す必要はありません HTMLコードでは、ただし、次のCSSを使用してスタイルを設定できます。
li:last-child テキスト変換:大文字。オプション:最後の子フォントスタイル:斜体;
疑似クラスの主な種類
疑似クラスにはたくさんの種類がありますが、それらのすべてが、そうでなければアクセスできない、またはアクセスが難しいトリックに基づいて要素をターゲットにする方法を提供します。これがMDNの標準擬似クラスのリストです。.
動的疑似クラス
動的疑似クラスがHTML要素に追加され、HTML要素から削除される 動的に, 移行する州に基づいて ユーザーの操作に応じて. 動的擬似クラスの例をいくつか示します。 ホバー
, :フォーカス
, :リンク
, そして 訪問した
, すべてに追加することができます
アンカータグ.
a:訪れたcolor:#8D20AE; .button:hover、.button:focus フォントの太さ:太字。
状態ベースの擬似クラス
状態ベースの擬似クラスは、要素が追加されると要素に追加されます。 特定の静的状態にある. その最も有名な例のいくつかは以下のとおりです。
-
:チェックあり
チェックボックスに適用できます
) :全画面表示
現在フルスクリーンモードで表示されている要素をターゲットにします。 :無効
以下のような無効モードになることができるHTML要素の場合
,