1. インライン要素とブロックレベル要素? img とは何ですか? インライン要素をブロックレベル要素に変換する方法
Inline要素: および 他のすべての要素は 1 行上にあり、高さ、行の高さ、外側の余白、および内側の余白は変更できません。テキスト画像の幅は変更できません。テキストまたはその他のインライン要素のみを収容できます。ここで、imgは行要素です。
ブロックレベル要素: 常に新しい行で始まり、高さ、行の高さ、マージン、パディングはすべて制御でき、インライン要素やその他の要素に対応できます。
行要素を変換する方法ブロックレベル要素に: display: block;
特別な推奨事項:2020 年の CSS 面接の質問のまとめ (最新)
2. 複数の要素を設定する同じ行の float をクリアする方法は何通りありますか?
複数の要素を同じ行に設定する: float、inline-block
クリア方法floats: 方法 1: 新しい要素を追加、クリアを適用: 両方;
方法 2: 親 p がオーバーフローを定義: 非表示;
方法 3: :after と :before を使用して要素内に 2 つの要素ブロックを挿入し、フロートクリアの効果。
.clear{zoom:1;}
.clear:after{content:””;clear:both;display:block;height:0;overflow:hidden;visibility:hidden;}
##3. ボックス モデルのボックス サイズが奇妙ですか?フレキシブル ボックス モデル | ボックス レイアウト?
標準モードのボックス モデル: ボックスの合計幅/高さ=幅/高さのパディング境界マージン奇妙なモードのボックス モデルの下では、ボックスの合計幅と高さにはパディングと境界線の幅が含まれます。ボックスの合計の幅/高さ = 幅/高さのマージン = コンテンツ領域の幅/高さのパディング境界マージン;
box-sizing には 2 つの値があります。1 つは content-box、もう 1 つはコンテンツ ボックスです。ボーダーボックスです。
box-sizing:content-box に設定すると、標準モードの解析と計算が使用されます。
box-sizing:border-box に設定すると、奇妙なモードの解析と計算が使用されます。
4. いくつかの CSS ハックを簡単に説明します?
(1) 画像のギャップp に画像を挿入すると、画像が p の下部を拡張します。 3px単位で。 hack1:と を同じ行に書きます。ハック 2: の画像ギャップに display: block;
dt li を追加します。ハック: に display: block を追加します。
(2) デフォルトの高さ IE6 より前のバージョンでは、一部のブロック要素にはデフォルトの高さ (18px 未満) があります
hack1: 要素に font-size を追加します: 0;
hack2: ステートメント: overflow: hidden;
フォームの行の高さが一致していません
hack1: ステートメントをフォームに追加します: float: left; height: ; border: 0;
Mouse pointer
ハック: ある要素のマウスポインタを手の形に統一すると:cursor: pointer;
li の a をブロック要素に変換するとき、float を a にすると梯子の形が現れるIE
hack1: inline-block に表示を追加;
hack2: li: left に float を追加;
5. href と src? title と alt# の違いhref (ハイパーテキスト参照) Web リソース (ハイパーテキスト参照) の場所を指定します。これにより、現在の要素または現在のドキュメントと、現在の属性で定義されている必要なアンカーまたはリソースとの間のリンクまたは関係が定義されます。 link や a などの要素で使用されます。
src (ソース) 属性は、現在のドキュメント要素によって定義された位置に現在のリソースを埋め込むだけです。これはページの重要な部分であり、導入部分です。 img、script、iframe、その他の要素で使用されます。title: html タグと html 属性の両方です。タイトルが属性として使用される場合、要素の追加の説明情報を提供するために使用されます。6.transform?アニメーション?違い?animation-duration
alt: alt は html タグの属性です。 alt 属性は、置換テキストを指定するために使用されます。これは、img、area、および input 要素 (アプレット要素を含む) でのみ使用できます。Web ページ上の画像が表示されるときに、ユーザーが画像情報を理解できるようにテキストの説明を提供するために使用されます。正常に表示できません。
Transform: width や left と同様に、変形、回転、スケーリング、変位、遠近感などの機能を実装する要素の多くの静的スタイルを定義します。 、非常にクールな静的効果 (非アニメーション) を実現できます。
アニメーション: スタイル属性ではなく要素自体に作用します。これはキーフレーム アニメーションのカテゴリに属します。それ自体は、純粋に表現力豊かな JavaScript コードを置き換えてアニメーションを実装するために使用されます。現在のフレームの属性値は明示的に指定できます。animation-duration: アニメーションの完了にかかる時間を秒またはミリ秒で指定します。7.nth-of-type | nth-child?
111 8. :before と ::before の違いは何ですか? 9. p を上下左右の中央に配置するにはどうすればよいですか? 回答: 方法は 3 つあります。 10.css2.0 と css3.0 11. フレキシブル ボックス モデル? flex|box の違い? 12.すべてのプロパティを表示しますか? 13. HTML 構造のセマンティクスを理解するにはどうすればよいですか? 14. 疑似クラスセレクターと疑似要素? c3 で導入された疑似クラス セレクターはありますか? c3 の擬似要素とは何ですか? 15.html5 の新機能と削除された要素は何ですか? HTML5 の新しいタグによるブラウザーの互換性の問題にどう対処するか? HTML と HTML5 を区別するにはどうすればよいですか? 例:
li:nth-of-type(2): ul の下の 2 番目の li 要素を表します
li:nth-child(2): 両方の li 要素を表しますul の下の 2 番目の要素です (見つかりません)。
通常は、問題が発生する可能性が低い nth-of-type を使用することをお勧めします。 単一コロン (:) は CSS3 疑似クラスに使用され、二重コロン (:) :) は CSS3 疑似要素に使用されます。 :before など、CSS2 より前に存在した疑似要素の場合、単一コロンと二重コロン::before は同じ効果があります。
方法1: .p1{ width:400px; height:400px; border:#CCC 1px solid; background:#99f; position:absolute; left:50%; top:50%; transform: translate(-50%,-50%); } <p class="p1"></p> 方法2: .p2{ width:400px; height:400px; border:#CCC 1px solid; background:#99f; position: absolute; left:0; top: 0; bottom: 0; right: 0; margin: auto; } <p class="p2"></p> 方法3: .p3{ width:400px; height:400px; border:#CCC 1px solid; background:#9f9; position: absolute; left: 50%; top:50%; margin-left:-200px; margin-top: -200px; } <p class="p3"></p>
回答: css3 は css2 の機能を強化し、新しい属性と新しいタグを追加し、削除します 一部の冗長なタグは削減されますレイアウトに関するコードの量。以前は複雑だったレイアウトを 1 つの属性 (列などの属性) だけで解決できるようになりました。さらに多くの効果 (角丸、アニメーションなど) が追加され、ボックス モデルとリスト モジュールに改良が加えられました。ただし、CSS3 の互換性は良好ではなく、一部の高度なバージョンのブラウザのみがサポートしています。
(1) フレキシブル ボックス レイアウト モデルを導入する目的は、アイテムをより効果的に表示する方法を提供することです。コンテナ内の要素が配置され、整列され、空白が割り当てられます。
フレキシブル ボックス レイアウト モデルは、コンテナ内のアイテムのサイズが不明な場合や動的に変化する場合でも、正常に動作します。このレイアウト モデルでは、コンテナーは、レイアウトのニーズに従って、使用可能なすべてのスペースを最適に埋めるために、コンテナーに含まれるアイテムのサイズと順序を調整します。
画面サイズやウィンドウサイズによってコンテナのサイズが変わると、コンテナに含まれるアイテムも動的に調整されます。たとえば、コンテナのサイズが大きくなると、その中に含まれるアイテムは余分な空きスペースを埋めるために引き伸ばされ、コンテナのサイズが小さくなると、アイテムがコンテナの範囲を超えないように縮小されます。 Flexbox レイアウトは方向に依存しません。
従来のレイアウト方法では、ブロック レイアウトはブロックを上から下に垂直方向に配置しますが、インライン レイアウトはブロックを水平方向に配置します。 Flexbox レイアウトには、そのような固有の方向制限がなく、開発者は自由に操作できます。
(2) flexとbox:display:boxの違いは古い規格なので、アンティークマシンを考慮したい場合は親要素のdisplay:box;属性の後に;を追加してください。 box-flex 属性を子要素に追加します。親要素の幅に応じて、子要素に一定の割合のスペースを占有させることができます。 Flex は最新であり、Dong Ji の古いマシンではサポートされていません;
親要素が display:flex を設定した後、子要素の幅は親要素の幅に応じて変更されますが、display:box は変更されます。ない。 Android UC ブラウザは、display: box 構文のみをサポートしますが、iOS UC ブラウザは両方の方法をサポートします。
(2)initial-scale: 初期値を設定します。ページのスケーリング値は、小数を使用できる数値です。
(3)minimum-scale: ユーザーが許可する最小スケーリング値。これは数値であり、小数を含めることができます。
(4)maximum-scale: ユーザーが許可する最大ズーム値。数値であり、小数を含めることができます。
(5)height: レイアウト ビューポートの高さを設定します。この属性は私たちにとって重要ではなく、めったに使用されません。
(6)user-scalable: ユーザーがズームできるかどうか、値は 'いいえ」または「はい」。
Android は、ターゲット デバイスの密度レベルを表す target-densitydpi もサポートしています。その機能は、CSS の 1px が表す物理ピクセル数を決定することです。
(7) target-densitydpi: 値は、数値または高 dpi、これらの文字列のいずれか、中 dpi、低 dpi、デバイス dpi
疑似クラスは 1 つのコロンで表され、疑似要素は 2 つのコロンで表されます。
擬似クラス セレクター:
状態は動的に変化するため、要素が特定の状態に達すると擬似クラス スタイルを取得する場合がありますが、状態が変化するとこのスタイルは失われます。
擬似要素セレクター:
は実際の要素に使用されるセレクターではなく、CSS で定義された擬似要素に使用されるセレクターです。
c3 で導入されました 擬似クラス セレクター:
:root() セレクター、ルート セレクターは、要素 E が配置されているドキュメントのルート要素と一致します。 HTML ドキュメントでは、ルート要素は常に です。 :root セレクターは 要素と同等です。
::not() セレクターはネガティブ セレクターと呼ばれ、jQuery の :not セレクターとまったく同じで、特定の要素を除くすべての要素を選択できます。
:empty() セレクターは空を表します。コンテンツのない要素を選択するために使用されます。ここでコンテンツなしとは、スペースも含めてコンテンツがまったくないことを意味します。
: target() セレクターは、ページ上のターゲット要素のスタイルを指定するために使用されます (要素の ID はページ内のハイパーリンクとして使用されます)。このスタイルは、ユーザーがクリックした場合にのみ使用されます。ページ上のハイパーリンクであり、ターゲット要素にジャンプした後に機能します。
: first-child() セレクターは、親要素の最初の子要素である要素 E の選択を表します。簡単に理解すると、要素内の最初の子要素を選択することになりますが、これは子要素であり、子孫要素ではないことに注意してください。
:nth-child() は、要素の 1 つ以上の特定の子要素を選択します。
:nth-last-child() は、親要素の最後の子要素からカウントを開始して、特定の要素を選択します。
:nth-of-type(n) セレクターと: n 番目-child(n) セレクターは非常によく似ていますが、親要素で指定された特定の型の子要素のみをカウントする点が異なります。
:only-child は、要素がその親要素の唯一の子要素であることを意味します。
:first-line 要素のテキストの最初の行にスタイルを使用します。
:first-letter 要素内のテキストの最初の文字または最初の単語のスタイルを使用します。
:before 要素の前にコンテンツを挿入します。
:after 要素の後にコンテンツを挿入します。
c3 の疑似要素:
::first-line は、要素の最初の行を選択します。たとえば、各段落のテキストの最初の行のスタイルを変更します。
::before および: :after この 2 つは主に要素の前または後ろにコンテンツを挿入するために使用されます。これら 2 つのよく使用される「コンテンツ」は一緒に使用されます。私が見た中で最も一般的なのはフロートをクリアすることです。
::selection は次の目的で使用されます。 Web ページの閲覧時にテキストを選択するデフォルトの効果を変更します。* HTML5 はもはや SGML のサブセットではなく、主に画像、場所、ストレージ、マルチタスク、その他の機能の追加を目的としています。
* ドラッグ アンド ドロップ API より優れたセマンティック コンテンツ タグ (ヘッダー、ナビゲーション、フッター、余談、記事、セクション) オーディオ、ビデオ API (オーディオ、ビデオ) キャンバス API 地理位置情報) API ローカル オフライン ストレージ localStorage データの長期ストレージ、ブラウザを閉じてもデータは失われない;
sessionStorage データはブラウザを閉じた後に自動的に削除される フォーム コントロール、カレンダー、日付、時刻、電子メール、URL、検索 新しいテクノロジ Webworker、WebSocket、地理位置情報
* 削除要素 純粋に表現力豊かな要素:basefont、big、center、font、s、strike、tt、u;
ユーザビリティに悪影響を与える要素:frame、frameset、noframes;
HTML5 の新しいタグのサポート:
* IE8/IE7/IE6 は、 document.createElement メソッドによって生成されたタグをサポートします。この機能を使用して、これらのブラウザで HTML5 の新しいタグをサポートすることができます。ブラウザが新しいタグをサポートした後、タグのデフォルトのスタイルを追加する必要があります:
* もちろん、成熟したフレームワークを直接使用するのが最善の方法です。最もよく使用されるのは、html5shim フレームワーク