目次
ここで、もう 1 つのわかりにくい点は、なぜ ID セレクターの優先順位が
::first-line vs. tag selector
::first-line vs class selector
::first-line vs ID selector
::first-line vs !important
:not を紹介する MDN ページには、例があります:
ホームページ ウェブフロントエンド CSSチュートリアル CSS の面接での 2 つの質問をチェックして、基礎をテストしてください。

CSS の面接での 2 つの質問をチェックして、基礎をテストしてください。

Sep 28, 2022 pm 07:45 PM
css

<p>Jianweizhizhu、この記事では、基礎をテストするための CSS 面接の興味深い質問を 2 つ紹介します。

<p>CSS の面接での 2 つの質問をチェックして、基礎をテストしてください。

<p>今日フォーラムでとても興味深い質問を見つけました。簡単なコードは次のとおりです:

<div>
    <p id="a">First Paragraph</p>
</div>
ログイン後にコピー
<p>スタイルは次のとおりです:

p#a {
    color: green;
}
div::first-line {
    color: blue;
}
ログイン後にコピー
<p>お聞きしたいのですが、タグのテキストの色は <p> 緑ですか、それとも青ですか?

<p>興味深いことに、ここでの最終結果は青です。これは、color: blue が有効になることを意味します。 [推奨される学習: css ビデオ チュートリアル ]

<p>CSS の面接での 2 つの質問をチェックして、基礎をテストしてください。

<p> いいえ、通常、ID セレクターは疑似クラス セレクターよりも高い優先順位を持つべきではないでしょうか。 ?ここで疑似クラス セレクターの優先順位が高いのはなぜですか?

<p>そして、デバッグ モードをオンにした後、<p> 要素を配置すると、color: green のみが有効になり、div は有効になりませんでした。 :: が見つかりました。最初の行 のスタイル定義:

<p>CSS の面接での 2 つの質問をチェックして、基礎をテストしてください。

## 1 つ上のレベルに進み、<p>
のスタイル ルールを見つけた場合のみです。 最後のルールを見つけることができますか? そのようなルールは以下で確認できます:

<p>CSS の面接での 2 つの質問をチェックして、基礎をテストしてください。

したがって、ここでは、<p><p># が次のとおりであることは明らかです。 ## タグは親要素を継承します <div> このルールは要素の最初の行に適用され、元の ID セレクターで定義されている color: green を上書きします。

もう一度確認してください

ここで、もう 1 つのわかりにくい点は、なぜ ID セレクターの優先順位が

::first-line<p> よりも高いのかということです。セレクターのほうが低いのです。 。 いくつかの簡単な試みをしてみましょう:

<p>次のデモは、

::first-line<p> スタイルとさまざまなセレクターが連携した場合の優先順位の比較を示しています。 #!重要 ルールが含まれています: 段落 1 はタグ セレクターを介して灰色に設定されます

    段落 2 はクラス セレクターを介して灰色に設定されます
  • 3 番目の段落は、ID セレクターによってグレーに設定されます
  • 4 番目の段落は、!重要な bash によってグレーに設定されます
  • 要約すると、各段落を同時に使用します。
  • ::first-line
セレクター。 <p>
<h2 id="first-line-nbsp-vs-nbsp-tag-nbsp-selector">::first-line vs. tag selector</h2>
<p>This paragraph ...</p>  

<h2 id="first-line-nbsp-vs-nbsp-class-nbsp-selector">::first-line vs class selector</h2>
<p class="p2">This paragraph color i...</p>  

<h2 id="first-line-nbsp-vs-nbsp-ID-nbsp-selector">::first-line vs ID selector</h2>
<p id="p3">This paragraph color is set ...</p>  

<h2 id="first-line-nbsp-vs-nbsp-important">::first-line vs !important</h2>
<p id="p4">This paragraph color is ....</p>
ログイン後にコピー
errreeCodePen デモ -- ::first-line: デモ

https://codepen.io/KittyGiraudel/pen/kWabaa/569e082a67400f5fb39a96030d0e9b6c<p>

# #効果を見てください: <p>

<p>

#どのセレクターであっても、優先度は <p>::first-line## ほど高くないことがわかります。 #。 CSS の面接での 2 つの質問をチェックして、基礎をテストしてください。

その理由は、<p>::first-line は実際には疑似クラスではなく疑似要素であり、それによって選択されたコンテンツは実際には子として扱われるためです。要素の要素。処理は

::before<p> および ::after と似ています。したがって、親要素のカラー ルールは ## を介した単なるカスケード関係です。 #: :first-line 独自に定義されたルールの方が優先されます。 これが、MDN ドキュメントでは二重コロンの記述方法がより推奨される理由です (もちろん、ブラウザは単一コロンの記述方法をサポートしています) -- MDN -- ::first-行

<p>もう 1 つの質問ですが、MDN エラーの例を教えてください。興味深い現象

<p>CSS の面接での 2 つの質問をチェックして、基礎をテストしてください。上記の質問を終えた後。非常によく似た別の質問を見てみましょう。

:not を紹介する MDN ページには、例があります:

p {
  color: #444;
}
p::first-line {
  color: deepskyblue;
}

.p2 {
  color: #444;
}
.p2::first-line {
  color: tomato;
}

#p3 {
  color: #444;
}
#p3::first-line {
  color: firebrick;
}

#p4 {
  color: #444 !important;
}
#p4::first-line {
  color: hotpink;
}
ログイン後にコピー
<p> は、

:not(p)<p> を意味します。は <p> タグの要素ではありません。ただし、次の HTML 構造における上記の CSS セレクターの実際の結果は完全に正しくありません。

/* Selects any element that is NOT a paragraph */
:not(p) {
  color: blue;
}
ログイン後にコピー
<p>結果は次のとおりです:

<p>CodePen デモ -- :not pesudo デモ

<p>https://codepen .io/ Chokcoco/pen/KKZbWjyCSS の面接での 2 つの質問をチェックして、基礎をテストしてください。

は、 <p>:not(p)

が引き続き <p><p>

要素を選択できることを意味します。はい、結果は複数のブラウザーで同じです。
<p>これを見たとき、立ち止まって考えてみてください。なぜ <p> 要素の色は color: blue のままなのでしょうか? ######どうしてこれなの?答え: ###<p>这是由于 :not(p) 同样能够选中 <body>,那么 <body> 的 color 即变成了 blue,由于 color 是一个可继承属性,<p> 标签继承了 <body> 的 color 属性,导致看到的 <p> 也是蓝色。

<p>我们把它改成一个不可继承的属性,试试看:

/* Selects any element that is NOT a paragraph */
:not(p) {
  border: 1px solid;
}
ログイン後にコピー
<p>CSS の面接での 2 つの質問をチェックして、基礎をテストしてください。

<p>OK,这次 <p>

没有边框体现,没有问题!

<p>因此,实际使用的时候,需要一定要注意样式继承的问题!

<p>(学习视频分享:css视频教程web前端

以上がCSS の面接での 2 つの質問をチェックして、基礎をテストしてください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ブートストラップにスプリットラインを書く方法 ブートストラップにスプリットラインを書く方法 Apr 07, 2025 pm 03:12 PM

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

ブートストラップに写真を挿入する方法 ブートストラップに写真を挿入する方法 Apr 07, 2025 pm 03:30 PM

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

ブートストラップのサイズを変更する方法 ブートストラップのサイズを変更する方法 Apr 07, 2025 pm 03:18 PM

Bootstrapの要素のサイズを調整するには、次のものを含むDimensionクラスを使用できます。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

ブートストラップのフレームワークをセットアップする方法 ブートストラップのフレームワークをセットアップする方法 Apr 07, 2025 pm 03:27 PM

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

ブートストラップボタンの使用方法 ブートストラップボタンの使用方法 Apr 07, 2025 pm 03:09 PM

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ブートストラップの日付を表示する方法 ブートストラップの日付を表示する方法 Apr 07, 2025 pm 03:03 PM

回答:ブートストラップの日付ピッカーコンポーネントを使用して、ページで日付を表示できます。手順:ブートストラップフレームワークを紹介します。 HTMLで日付セレクター入力ボックスを作成します。ブートストラップは、セレクターにスタイルを自動的に追加します。 JavaScriptを使用して、選択した日付を取得します。

See all articles