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

推薦する

MySQL でコマンドを使用して階層検索を実現する方法の詳細な説明

序文この記事は主にMySQLコマンド階層検索ヘルプの使用に関する内容を紹介します。この記事のサンプル...

Linux Autofs 自動マウント サービスのインストールと展開のチュートリアル

目次1. autofs サービスの紹介2. Autofsのインストールと展開3. Autofs効果の...

HTML の著作権記号のフォント選択問題 (著作権記号をより美しくする方法)

1. 問題を発見する&copy; は HTML の著作権記号ですが、間違ったフォントを選択す...

「いいね!」機能では MySQL と Redis のどちらを使用すればよいでしょうか?

目次1. 初心者が陥りがちな間違い2. Iteratorのremove()メソッドを使用する3. f...

CSS3で作られたレインボーボタンスタイル

結果: 実装コード: html <div class="buttons"&...

Mysql の一時テーブルとパーティションテーブルの違いの詳細な説明

一時テーブルとメモリテーブルメモリ テーブルとは、メモリ エンジンを使用するテーブルを指します。テー...

bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorException の解決方法

bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorExce...

MySQL における EXISTS と IN の使用法の比較

1. 使用法: (1)EXISTSの使用 ucsc_project_batch a から、存在する場...

CSS でフロートをクリアするための完全ガイド (要約)

1. 親divは疑似クラスafterとzoomを定義します <スタイル タイプ="...

1 分で Nginx のバージョンをスムーズにアップグレードおよびロールバックする方法

今日は、企業の実際の本番環境でよく遭遇する、Nginx を新しいバージョンにアップグレードし、古いバ...

JavaScriptは4桁のランダム検証コードの生成を実装します

この記事の例では、JavaScriptで4桁のランダムな検証コードを生成する具体的なコードを参考まで...

Vue 計算プロパティ実装トランスクリプト

この記事では、Vueの計算プロパティ実装レポートカードを参考に共有します。具体的な内容は次のとおりで...

MySQLで行を列に変換する方法

MySQL の行から列への操作いわゆる行から列への操作は、テーブルの行情報を列情報に変換することです...

nginx で同時接続リクエストの数を制限する方法

導入同時接続数を制限するモジュールは http_limit_conn_module です。アドレス:...