面接で聞かれる可能性のあるCSSに関する質問

面接で聞かれる可能性のあるCSSに関する質問

この記事は、100 回書かれ、質問された CSS の質問を記念するためのものです。

聞く:

CSS セレクターとは何ですか?どのプロパティが継承されますか?優先度?インラインと重要のどちらが優先度が高いでしょうか?

セレクタ

1ワイルドカードセレクター (*)ページ内のすべての要素のスタイルを表します*{フォントサイズ:12px;マージン:0;パディング:0;}
2タイプセレクター(body、div、p、spanなど)ウェブページ内の既存のタグタイプは名前セレクタとして使用されますdiv{幅:10px;高さ:10px;}
3グループセレクター (,)複数のオブジェクトに同じスタイルを同時に割り当てるa:link、a:visited{color:#fff;}
4レベルセレクター(スペース)オブジェクト内のサブオブジェクトにスタイルを割り当てるセレクターが含まれています#ヘッダー上部{幅:100px;}
5 IDセレクター(#) ID セレクターは一意であり、ページ内で再利用することはできません。 #ヘッダー{幅:300px;}
6クラスセレクター (.)ページ内で再利用できる.title{幅:300px;}
7 IEhack セレクター (_、*、\0、\9\0;)さまざまなブラウザに対応.title{_幅:50px;*高さ:30px;}

継承可能なプロパティ


コードをコピー
コードは次のとおりです。

方位角、境界線の折りたたみ、境界線の間隔、
キャプション側、色、カーソル、方向、高度、
空のセル、フォント ファミリ、フォント サイズ、フォント スタイル、
フォントバリアント、フォントウェイト、フォント、文字間隔、
行の高さ、リストスタイルの画像、リストスタイルの位置、
リスト スタイル タイプ、リスト スタイル、孤立、ピッチ範囲、
ピッチ、引用符、豊かさ、ヘッダーの読み上げ、数字の読み上げ、
話す-句読点、話す、発話速度、
ストレス、テキストの配置、テキストのインデント、テキストの変換、
可視性、音声ファミリー、音量、空白、
未亡人、単語間隔

優先順位の4つの原則

原則1 :不特定の才能を受け継ぐ

デモ1:


コードをコピー
コードは次のとおりです。

<スタイル タイプ="text/css">
*{フォントサイズ:20px}
.class3{ フォントサイズ: 12px; }
</style> </p> <p><span class="class3">フォント サイズはどれくらいですか? </span> <!-- 実行結果: .class3{ font-size: 12px; }-->

デモ2:


コードをコピー
コードは次のとおりです。

<スタイル タイプ="text/css">
#id1 #id2{フォントサイズ:20px}
.class3{フォントサイズ:12px}
</スタイル> </p> <p><div id="id1" class="class1">
<p id="id2" class="class2"> <span id="id3" class="class3">フォント サイズはどれくらいですか? </span> </p>
</div> <!--実行結果: .class3{ font-size: 12px; }-->

原則 2: #ID > .class > タグ

デモ1:


コードをコピー
コードは次のとおりです。

<スタイル タイプ="text/css">
#id3 { フォントサイズ: 25px; }
.class3{ フォントサイズ: 18px; }
スパン{フォントサイズ:12px}
</style> </p> <p><span id="id3" class="class3">フォント サイズはどれくらいですか? </span> <!--実行結果: #id3 { font-size: 25px; }-->

原則3:より具体的であるほど良い

デモ1:


コードをコピー
コードは次のとおりです。

<スタイル タイプ="text/css">
.class1 .class2 .class3{フォントサイズ: 25px;}
.class2 .class3{フォントサイズ:18px}
.class3 { フォントサイズ: 12px; }
</スタイル> </p> <p><div class="class1">
<p class="class2"> <span class="class3">フォントサイズはどれくらいですか? </span> </p>
</div> <!--実行結果: .class1 .class2 .class3{font-size: 25px;}-->

原則4:タグ#ID > タグ.クラス

デモ1:


コードをコピー
コードは次のとおりです。

<スタイル タイプ="text/css">
span#id3{フォントサイズ:18px}
#id3{フォントサイズ:12px}
span.class3{フォントサイズ:18px}
.class3{フォントサイズ:12px}
</style></p> <p><span id="id3">フォント サイズはどれくらいですか? </span>
<span class="class3">フォントサイズはどれくらいですか? </span> <!--実行結果: span#id3{font-size:18px} | span.class3{font-size:18px}-->

最後に:原則が矛盾する場合、原則1 > 原則2 > 原則3 > 原則4

!重要

IE6 は !important を認識しますか? ? ?

回答: はい、ただし小さなバグがあります。

例えば:


コードをコピー
コードは次のとおりです。

<スタイル>
#ida {サイズ:18px}
.classb { フォントサイズ: 12px; }
</style></p> <p><div id="ida" class="classb">!重要なテスト: 18px</div>

参加する!重要


コードをコピー
コードは次のとおりです。

<スタイル>
#ida{フォントサイズ:18px}
.classb{ フォントサイズ: 12px !重要; }
</style></p> <p><div id="ida" class="classb">!重要なテスト: 12px</div>

IE6 バグ:


コードをコピー
コードは次のとおりです。

<スタイル>
.classb{ フォントサイズ: 18px !重要; フォントサイズ: 12px }
</style></p> <p><div class="classA">!重要なテスト: 12px</div>

理由と解決策:

ここで、テキストは IE6 では 12 ピクセルですが、他のブラウザでは 18 ピクセルです。

しかし、スタイルを変更して最後に !important を追加すると、つまり .classb{ font-size: 12px;font-size: 18px !important; } とすると、IE6 でも他のブラウザと同様に 18px フォントが表示されます。

<<:  Nginx ソースコードのコンパイルとインストールのプロセス記録

>>:  CSS 疑似要素と疑似クラスの魔法のような使い方についての簡単な説明

推薦する

Docker クリーニングキラー/Docker オーバーレイ ファイルがディスク領域を大量に占有する

[インターネット上の移行ファイルをすべて見ると、信頼性が低く、症状のみを治療し、根本的な原因を治療し...

JavaScript 関数構文の説明

目次1. 通常の機能2. 矢印関数3. データパケットJSON 4. オブジェクト5. 約束6. 非...

MySQLの左結合と内部結合について簡単に説明します

序文最近、X 省のコールド チェーン トレーサビリティ システムの開発で忙しくしています。毎日午後 ...

ファイアウォールの iptables 戦略を使用して Linux サーバー上のポートを転送する方法

2つの異なるサーバー間の転送ポート転送を有効にするまず、デフォルトでは無効になっている IP 転送機...

Apache の一般的な仮想ホスト設定方法の分析

1. Apacheサーバーのインストールと設定yum インストール httpd -y systemc...

TypeScript 環境を構築して VSCode にデプロイする詳細な手順

目次TypeScript環境の構築ステップ1: Taobaoミラーをダウンロードするステップ2: T...

MySQLデータ復旧のさまざまな方法の概要

目次1. はじめに2. 直接回復2.1 mysqldumpバックアップの完全リカバリ2.2 xtra...

MySQLのスリープ関数の特殊現象例の詳しい説明

序文MySQL のスリープ システム機能は、実用的な適用シナリオが少なく、通常は実験的なテストに使用...

Linux での Nginx アンチホットリンクと最適化の実装コード

バージョン番号を非表示バージョン番号は非表示になっていません。セキュリティを強化するために、バージョ...

Node.js でメモリ効率の高いアプリケーションを作成する方法

目次序文問題: 大きなファイルのコピーNodeJS のストリームとバッファバッファストリーム解決策 ...

MySQL 8.0.22 解凍版インストールチュートリアル(初心者向け)

目次1. リソースのダウンロード2. ソフトウェアを解凍する2.1 場所を選択する2.2 名前を変更...

フレックスレイアウトによるシームレスなスクロールのサンプルコード

この記事では、シームレスなスクロールを実現するためのフレックスレイアウトのサンプルコードを主に紹介し...

シンプルなカルーセルの最も完全なコード分析を実装するJavaScript(ES6オブジェクト指向)

この記事では、シンプルなカルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹...

Alibaba Cloud ESC サーバー シングルノード MySQL の Docker デプロイメント

1. msyqlの高速バージョンをダウンロードする docker pull hub.c.163.co...