面接で聞かれる可能性のある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 疑似要素と疑似クラスの魔法のような使い方についての簡単な説明

推薦する

CentOS8 システムをベースにした Gitlab を構築するために Docker を使用する詳細なチュートリアル

目次1. Dockerをインストールする2. GitLabをインストールする3. GitLabを初期...

Linuxでテキスト比較を実現するコツを教えます

序文コードを書く過程で、必然的にコードに何らかの変更を加えることになります。しかし、変更を加えるとき...

Mysqlマスタースレーブ同期の実装原理

1. MySQL マスター/スレーブ同期とは何ですか?マスター データベースのデータが変更されると、...

CSSはリストのスタイルを設定し、ナビゲーションメニューの実装コードを作成します。

1. リストシンボルを設定するlist-style-type: attribute; //リストの...

CSSはグラデーションを巧みに利用して高度な背景光アニメーションを実現します

成し遂げるこの効果は CSS を使用して完全に再現することは困難です。 CSS でシミュレートされた...

MySQL クエリ キャッシュとバッファ プール

1. キャッシュ - クエリキャッシュ次の図は、MySQL 公式サイトから提供されています: MyS...

Mysql 5.7.17 をインストールした後、MySQL にログインするチュートリアル

mysql-5.7.17 のインストールについては記事の下部で紹介されているので、参考にしてください...

MySQL の完全なデータベース バックアップからデータベースとテーブルを復元する方法

公式の MySQL ダンプ ツールで、特定のデータベースのみを復元するにはどうすればよいですか?完全...

Linux での Python のアップグレードと pip のインストールの詳細な説明

Linuxバージョンのアップグレード: 1. まず、Linuxオペレーティングシステムに付属するPy...

純粋なHTML+CSSでタイピング効果を実現

この記事は主に、一定の参考値を持つ純粋な HTML + CSS によって実現されるタイピング効果を紹...

Vmvare 仮想マシンを使用して Ubuntu のルート ディレクトリをパーティション分割する方法の紹介

目次序文根拠手順1. CDから仮想マシンを起動する2. GPartedツールを使用してパーティション...

JSONオブジェクトのキーを置き換える最良の方法

JSON (JavaScript Object Notation、JS Object Notatio...

初心者向け入門チュートリアル④:サブディレクトリのバインド方法

これが何を意味するのかを理解するには、まずサブディレクトリとは何かを知る必要があります。では、サブデ...

JavaScript ジグソーパズルゲーム

この記事の例では、ジグソーパズルゲームを実装するためのJavaScriptの具体的なコードを参考まで...

vue+elementUI で埋め込みテーブルを実装する方法の例

大学 4 年生のときのインターンシップ中に、表内のデータの番号をクリックすると、そのデータの下に新し...