国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ ウェブフロントエンド CSSチュートリアル CSS3のリレーショナルおよび屬性セレクター

CSS3のリレーショナルおよび屬性セレクター

Feb 18, 2025 am 09:14 AM

Relational and Attribute Selectors in CSS3

以下は、Alexis Goldstein、Louis Lazaris、Estelle Weylが共著した本「HTML5&CSS3 for the Real World、第2版」から抜粋しています。この本は世界中の店舗で入手できます。また、ここで電子書籍バージョンを購入することもできます。

コアポイント

  • CSS3セレクターは、Webページ上の要素の正確な位置決めを可能にし、以前のCSSバージョンの機(jī)能を拡張します。リレーショナルセレクターと屬性セレクターは、CSS3の重要な機(jī)能です。
  • 関係セレクターは、タグ內(nèi)の関係に基づいて要素を見つけます。これらには、子孫コンビナー(E F)、サブコンビネーター(E> F)、隣接する兄弟セレクターまたは次の兄弟セレクター(E F)、および普遍的な兄弟セレクターまたはその後の兄弟セレクター(E?F)が含まれます。
  • CSS3の屬性セレクターは、要素の屬性に基づいて一致することを可能にし、CSS3はパターンマッチングを許可することによりCSS2の屬性セレクターを拡張します。これらには、e [attr]、e [attr = val]、e [attr | = val]、e [attr? = val]、e [attr^= val]、e [attr $ = val]、およびe [attr * = val]。
  • すべての最新のブラウザは、IE9以降を含むCSS3セレクターをサポートしています。これらのセレクターを使用すると、Web設(shè)計(jì)と開発の効率と有効性が大幅に向上する可能性があります。

css3 selector

CSSセレクターはCSSの中核です。ページ上に要素を見つけるセレクターがない場合、要素のCSS屬性を変更する唯一の方法は、要素のスタイル屬性を使用して、不器用で維持が難しいスタイルのインラインを宣言することです。したがって、セレクターを使用します。最初に、CSSは、タイプ、クラス、および/またはIDごとに一致する要素を許可します。これには、クラスとID屬性をタグに追加して、同じタイプのフックと區(qū)別要素を作成する必要があります。 CSS2.1は、擬似要素、擬似クラス、および組み合わせを追加します。 CSS3を使用すると、さまざまなセレクターを使用して、ページ上のほぼすべての要素を見つけることができます。

以下の説明では、以前のCSSバージョンに提供されたセレクターを含めます。 CSS3セレクターを使用できる一方で、CSS3よりも早くセレクターもCSSセレクターレベル3仕様の一部であり、CSSセレクターレベル3がそれらを拡張するため、まだサポートされているためです。かなり長い間存在していたセレクターでさえ、古い仕様にはあまり知られていない隠された寶石があるため、ここでレビューする価値があります。 IE9以降を含むすべての最新のブラウザは、すべてのCSS3セレクターをサポートすることに注意してください。

関係セレクター

関係セレクターは、タグ內(nèi)の関係に基づいて要素を見つけます。これらはすべて、IE7から、および他のすべての主要なブラウザでサポートされています:

子孫コンビネーター(e f)

あなたは間違いなくこれに精通している必要があります。子孫セレクターは、要素Eの子孫である要素F(子要素、孫の要素、great孫要素など)を見つけます。たとえば、Ol Liは、順序付けられたリストにあるLI要素を見つけます。これには、OLのULにネストされたLi要素が含まれますが、これはあなたが望むものではないかもしれません。

subcombinator(e> f)

このセレクターは、要素eの

要素Eの直接的な子要素として、任意の要素fを一致させます - さらにネストされた要素は無視されます。上記の例を続けると、OL>

隣人の兄弟セレクターまたは次の兄弟セレクター(e f)

これは、Eと同じ親要素を共有する要素Fと一致し、タグ內(nèi)の

のすぐ後ろにある任意の要素と一致します。たとえば、Li Liは、最初のLI要素を除き、特定の容器內(nèi)のすべてのLI要素を見つけます。

普遍的な兄弟セレクターまたはその後の兄弟セレクター(e?f)

これは少し難しいです。これは、eと同じ親要素を共有し、タグにその背後にある任意の要素Fと一致します。したがって、H1?H2は、H2がすべて同じ直接の親要素を共有している限り、H2が他の要素にネストされていない限り、H1の後にあるH2と一致します。

簡単な例を見てみましょう:

H1とH2は両方ともヘッダーまたは直接の子孫の子供であるため、

セレクター文字列H1?H2は最初のH2と一致します。コードスニペットに表示される次のH2は、その親要素がヘッダーではなく記事であるため、一致しません。ただし、ヘッダー?H2と一致します。同様に、H2?Pは最後の段落とのみ一致します。最初の段落はH2の前であるため、親要素の記事と共有します。
<header>
  <h1>Main title</h1>
  <h2>This subtitle is matched</h2>
</header>
<article>
  <p>blah, blah, blah …</p>
  <h2>This is not matched by h1 ~ h2, but is by header ~ h2</h2>
  <p>blah, blah, blah …</p>
</article>

注:なぜ「親」セレクターがいないのですか?

これまでのところ、「父」または「祖先」セレクターも「兄弟兄弟」セレクターもいないことに気付くでしょう。ブラウザのパフォーマンスは、スタイルを適用するかどうかを決定する前に、ネストされた要素セットにDOMツリーを後方に移動(dòng)するか、再帰的にしなければなりません。

jQueryには、祖先セレクターとして()が含まれます。このセレクターはCSSセレクターレベル4で検討されていますが、ブラウザには実裝されていません。実裝された場合、e:has(f)を使用してfを子孫として見つけます。 )兄弟Fの直前にEを見つける。

HTML5ヘラルドのスタイルシートを閲覧すると、これらのセレクターを多くの場所で使用していることがわかります。たとえば、サイトの全體的なレイアウトを決定するとき、3つの列のdivを左に浮かせたいと思います。このスタイルをその內(nèi)部にネストされた他のdivに適用することを避けるために、サブセレクターを使用します。

次のいくつかの章でサイトに新しいスタイルを追加すると、これらのセレクタータイプの多くが表示されます。

main > div {
  float: left;
  overflow: hidden;
}

屬性セレクター

CSS2はいくつかのプロパティセレクターを?qū)毪筏蓼?。これらは、要素の屬性に基づいて一致することを可能にします?CSS3はこれらのプロパティセレクターを拡張して、パターンマッチングに基づいて何らかの位置を確保します。 CSSセレクターレベル4がさらに追加されました:

e [attr]屬性の値に関係なく、任意の要素Eと屬性屬性を一致させます。第4章では、必要な入力をスタイリングしました。

e [attr = val]は、任意の要素eと屬性屬性と一致し、その値はvalです。新しいものではありませんが、たとえばフォーム入力タイプを見つけると便利です。[タイプ=チェックボックス]を使用してチェックボックスを見つけます。

e [attr | = val]屬性屬性がVALの値を持っているか、Val-で始まる要素と一致します。これは、Lang屬性で最も一般的に使用されています。たとえば、p [lang | = "en"]は、英國英語であろうとアメリカ英語であろうと、

または

を使用して、英語で定義された段落と一致します。

e [attr? = val]は、屬性屬性が完全な単語val(スペースで囲まれている)を含む要素と一致します。たとえば、.info [title?= more]は任意の要素をクラス情報(bào)と一致させ、タイトル屬性には「詳細(xì)をクリックする」などの「more」という単語が含まれます。

e [attr^= val]屬性屬性が値valで始まる要素と一致します。つまり、Valはプロパティ値の開始と一致します。

e [attr $ = val]屬性屬性がで終了する要素と一致します。言い換えれば、VALはプロパティ値の終わりと一致します。

e [attr= val]は、屬性屬性が任意の位置でVALと一致する要素と一致します。それはe [attr? = val]に似ていますが、valが単語の一部になる可能性があることを除いて。以前と同じ例を使用して、.fakelink [title = info] {}は任意の要素をクラスFakelinkと一致させ、タイトル屬性には「詳細(xì)を參照するにはここをクリック」などの文字列情報(bào)が含まれます。

これらのプロパティセレクターでは、VALの値は、HTMLのケースに敏感な値に対して癥例に敏感です。たとえば、input [class^= "btn"]は、クラス名がケースに敏感であるため、ケースに敏感ですが、入力[type = "checkbox"]は、型値がHTMLでケースインス感受性であるため、ケースに敏感です。

値が英數(shù)字である場合、値は必要ありませんが、いくつかの例外があります??栅挝淖至?、數(shù)字から始まる弦、2つのハイフン、その他の特別なケースを引用符で囲む必要があります。例外があるため、引用が必要な狀況の引用を常に含める習(xí)慣を身に付けることをお?jiǎng)幛幛筏蓼埂?

CSSセレクターレベル4では、エンドブラケットの前にiを含めることにより、ケース感動(dòng)性を達(dá)成できます。

CSS3のリレーショナルセレクターと屬性セレクターに関するFAQ

CSS3の関係セレクターとプロパティセレクターの違いは何ですか?

CSS3の関係セレクターは、HTMLドキュメントの他の要素との関係に基づいて要素を選択するために使用されます。たとえば、子どもの要素、子孫、近隣の兄弟、普遍的な兄弟セレクターは、すべてのタイプのリレーショナルセレクターです。一方、屬性セレクターは、その屬性または屬性値に基づいて要素を選択するために使用されます。たとえば、プロパティセレクターを使用して、「テキスト」の型屬性を持つすべての入力要素を選択できます。

CSS3でサブコンビネーターを使用する方法は?

CSS3のサブコンビネーターは、「&gt;」で表されます。特定の要素の直接の子要素を選択するために使用されます。たとえば、クラス「親」を持つ親要素のすべての直接子のdiv要素を選択する場合は、次のCSSを書く必要があります。

.parent > div { /* CSS 屬性在此處 */ }

CSS3で複數(shù)のプロパティセレクターを使用できますか?

はい、CSS3で複數(shù)のプロパティセレクターを使用できます。これにより、複數(shù)の屬性條件を満たす要素を選択できます。たとえば、タイプ屬性「テキスト」と名前屬性「ユーザー名」を持つすべての入力要素を選択する場合は、次のCSSを記述する必要があります。

input[type="text"][name="username"] { /* CSS 屬性在此處 */ }

CSS3の隣接する兄弟コンビネーターの目的は何ですか?

CSS3の隣接する兄弟コンバイナーは、「」シンボルで表されます。これは、別の特定の要素のすぐ後ろにある要素を選択するために使用され、2つの要素は同じ親要素を共有します。たとえば、P要素のすぐ後ろにあるDIV要素を選択する場合は、次のCSSを書く必要があります。

p div { /* CSS 屬性在此處 */ }CSS3に特定の屬性値を持つ要素を選択する方法は?

CSS3に特定の屬性値を持つ要素を選択するには、屬性セレクター、屬性名、および平方ブラケットで値を使用します。たとえば、タイプ屬性「テキスト」を持つすべての入力要素を選択する場合は、次のCSSを記述する必要があります。

CSS3の関係セレクターと屬性セレクターを組み合わせることはできますか? input[type="text"] { /* CSS 屬性在此處 */ }

はい、CSS3の関係セレクターと屬性セレクターを組み合わせることができます。これにより、他の要素やプロパティとの関係に基づいて要素を選択できます。たとえば、入力要素の型屬性が「テキスト」である「フォーム」を持つフォーム要素のすべての直接の子入力要素を選択する場合は、次のCSSを記述する必要があります。

CSS3のユニバーサルブラザーコンビネーターは何ですか?

form.form > input[type="text"] { /* CSS 屬性在此處 */ }

CSS3のユニバーサル兄弟コンバイナーは、「?」シンボルで表されます。 HTMLドキュメントでの注文に関係なく、特定の要素の兄弟要素を選択するために使用されます。たとえば、P要素のすべての兄弟div要素を選択する場合は、次のCSSを書く必要があります。

特定の屬性を持たないCSS3で要素を選択する方法は?

p ~ div { /* CSS 屬性在此處 */ } CSS3に特定の屬性を持たない要素を選択するには、屬性セレクターを使用して:not()pseudo-classを使用します。たとえば、タイプ屬性が「送信」されていないすべての入力要素を選択する場合は、次のCSSを記述する必要があります。

擬似クラスでCSS3の関係セレクターを使用できますか?

はい、擬似クラスを使用してCSS3の関係セレクターを使用できます。これにより、他の要素や狀態(tài)との関係に基づいて要素を選択できます。たとえば、すべての直接子を選択する場合は、ホバリングされているナビゲーション要素の要素を選択する場合は、次のCSSを書く必要があります。

nav > a:hover { /* CSS 屬性在此處 */ }

特定の値を持つ特定の屬性を含むCSS3の要素を選択する方法は?

CSS3に特定の値を持つ特定の屬性を含む要素を選択するには、正方形のブラケットプロパティセレクター、屬性名と値、および *=演算子を使用します。たとえば、「例」を含むHREF屬性を持つすべてのA要素を選択する場合は、次のCSSを記述する必要があります。

以上がCSS3のリレーショナルおよび屬性セレクターの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

「レンダリングブロッキングCSS」とは何ですか? 「レンダリングブロッキングCSS」とは何ですか? Jun 24, 2025 am 12:42 AM

ブラウザは、特にインポートされたスタイルシート、ヘッダーのインラインCSS、および最適化されていないメディアクエリスタイルを使用して、ブラウザがインラインおよび外部CSSをデフォルトで主要なリソースとして表示するため、ページレンダリングをブロックします。 1.重要なCSSを抽出し、HTMLに埋め込みます。 2。JavaScriptを介して非クリティカルなCSSの読み込みを遅らせる。 3.メディア屬性を使用して、印刷スタイルなどのロードを最適化します。 4.リクエストを減らすためにCSSを圧縮およびマージします。ツールを使用してキーCSSを抽出し、REL = "Preload"非同期負(fù)荷を組み合わせ、過度の分割と複雑なスクリプト制御を避けるためにメディア遅延荷重を合理的に使用することをお?jiǎng)幛幛筏蓼埂?/p>

外部対內(nèi)部CSS:最良のアプローチは何ですか? 外部対內(nèi)部CSS:最良のアプローチは何ですか? Jun 20, 2025 am 12:45 AM

TheBestAppRoachforCSDependsonTheProject'sSpecificNeeds.forLargerProjects、externalCssissisbetterduetoMaintainasiladability; forsmallerProjectsOrsingLe-PageApplications、internalcsSmightBemoresuitable.it

私のCSSは小文字でなければなりませんか? 私のCSSは小文字でなければなりませんか? Jun 19, 2025 am 12:29 AM

いいえ、CSSDOESNOTHAVETOBEINLOWERCASE。

CSSケース感度:重要なことを理解する CSSケース感度:重要なことを理解する Jun 20, 2025 am 12:09 AM

cssismostlycase-inssensitive、buturlsandfontfamilynamesarecase-sensitive.1)propertiesandvalueslikecolor:red; areotcase-sensitive.2)urlsmustmatchtheserver'scase、例えば、/畫像/logo.png.3)

Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Jul 02, 2025 am 01:15 AM

Autoprefixerは、ターゲットブラウザスコープに基づいてCSS屬性にベンダープレフィックスを自動(dòng)的に追加するツールです。 1.エラーで接頭辭を手動(dòng)で維持する問題を解決します。 2. PostCSSプラグインフォーム、CSSを解析し、プレフィックスする必要がある屬性を分析し、構(gòu)成に従ってコードを生成する屬性を分析します。 3.使用手順には、プラグインのインストール、ブラウザーリストの設(shè)定、ビルドプロセスでそれらを有効にすることが含まれます。 4。メモには、接頭辭を手動(dòng)で追加しない、構(gòu)成の更新を保持すること、すべての屬性ではなくプレフィックスを維持することが含まれ、プリ??プロセッサでそれらを使用することをお?jiǎng)幛幛筏蓼埂?/p>

CSSカウンターとは何ですか? CSSカウンターとは何ですか? Jun 19, 2025 am 12:34 AM

csScountersCantAnationally-bersectionSandLists.1)usecounter-resettoinitialize、counter-incrementtoincrease、andcounter()orcounters()todisplayvalues.2)を組み合わせたjavascriptfordynamiccontenttoensureaCurateupdatesと組み合わせます。

CSS:ケースはいつ重要ですか(いつそうではありませんか)? CSS:ケースはいつ重要ですか(いつそうではありませんか)? Jun 19, 2025 am 12:27 AM

CSSでは、セレクターと屬性名はケースに敏感ですが、値、名前の色、URL、およびカスタム屬性はケースに敏感です。 1.バックグラウンドカラーや背景色など、セレクターと屬性名はケース非感受性です。 2。値の16進(jìn)數(shù)色は大文字と小文字を區(qū)別しますが、赤と赤などの名前の色は無効です。 3. URLは癥例に敏感であり、ファイルロードの問題を引き起こす可能性があります。 4.カスタムプロパティ(変數(shù))はケースに敏感であり、使用する場合はケースの一貫性に注意を払う必要があります。

CSSの癥例感度:説明されたセレクター、プロパティ、および値 CSSの癥例感度:説明されたセレクター、プロパティ、および値 Jun 19, 2025 am 12:38 AM

cssselectors andpropertynamesarecase-inssensitive、whilevaluescanbecase-sensitivedingoncontext.1)selectorslike'div'andiv'areequivalent.2)propertiessuchas'background-color'and'background-color'arecase-sensens

See all articles