高さ:100% が機能しないのはなぜですか? この知識は不人気ではありませんが、使用する際には混乱するかもしれません。うまくいかないときは検索すれば答えが見つかりますが、本当に理解していますか?フルスクリーン要素を設定するときに、高さが % で制御されないのはなぜですか? 1. 幅と高さのパーセンテージを設定するw3c の幅と高さの属性によれば、幅と高さは親要素の幅と高さに応じて設定されていることが明確にわかります。 2.幅:100%;このようなコードを記述し、要素を観察しやすくするために背景色をランダムに設定します。次のコードに注意してください。<!DOCTYPE html> を追加することを忘れないでください。そうしないと、結果が異なります。 <本文> <div スタイル="幅:100%;高さ:100%;背景色:青紫;"> 幅:100%;高さ:100%; </div> </本文> // 幅は 100% ですが、表示される高さは 100% ではなく font-size に属します。 <本文> <div style="width:100%;height:200px;background-color:blueviolet;"> 幅:100%;高さ:200px; </div> </本文> //効果は次のようになります 幅を 100% にするのは簡単ですが、高さを % 比率で設定することはできません (要素が消えてしまいます)。なぜでしょうか? 3. ブラウザは高さと幅をどのように計算しますか?Web ブラウザは、有効な幅を計算するときにブラウザ ウィンドウの開いた幅を考慮します。幅にデフォルト値を設定しない場合、ブラウザは自動的にページ コンテンツを水平幅全体を埋めるように並べて表示します。つまり、幅を設定しないと、次のように水平方向の幅全体が自動的に埋められます。 <div style="height:100%;">高さ:100%;</div> しかし、高さの計算方法はまったく異なります。実際、ブラウザは、コンテンツがビューポートを超えない限り (スクロール バーが表示される場合)、コンテンツの高さをまったく計算しません。または、ページ全体の絶対的な高さを設定します。そうしないと、ブラウザはページの高さをまったく考慮せずにコンテンツをそのまま積み重ねてしまいます。 4. 解決方法これで、% は親要素を基準に計算された高さであることがわかりました。これを有効にするには、親要素の高さを設定する必要があります。 html,本文{ 高さ: 100%; マージン: 0; パディング: 0; } 5.行の高さの中央揃えに関する誤解?<!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <meta http-equiv="X-UA-compatible" content="ie=edge"> <title>ドキュメント</title> <スタイル> html,本文{ 高さ: 100%; マージン: 0; パディング: 0; } div { 色: 白; テキスト配置: 中央; フォントサイズ: 30px; 行の高さ: 100%; 背景色: 青紫; } </スタイル> </head> <本文> <!-- <div style="width:100%;height:100%;">幅:100%;高さ:100%;</div> --> <div style="height:100%;">高さ:100%;</div> <!-- <div style="width:100%;height:200px;">幅:100%;高さ:200px;</div> --> </本文> </html> コードはすべて上記のとおりです。行の高さが 100% に設定されているのに、中央に配置されていないことがわかります。これはなぜでしょうか。このときの % はフォント サイズに対する相対値であるためです。したがって、絶対的な高さを持たない要素に直接作用することはできません。 行の高さプロパティの説明: https://www.w3school.com.cn/cssref/pr_dim_line-height.asp このとき中央揃えにしたい場合は、以下のように高さ用と中央揃え用のdivをネストします。あまり使われていないようですが、中央揃えはやはり効果的です~ <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <meta http-equiv="X-UA-compatible" content="ie=edge"> <title>ドキュメント</title> <スタイル> html, 体 { 高さ: 100%; マージン: 0; パディング: 0; } .div1 { 背景色: 青紫; 位置: 相対的; } .div2 { フォントサイズ: 30px; 色: 白; テキスト配置: 中央; 幅: 400ピクセル; 位置: 絶対; 左: 50%; 上位: 50%; 変換: translateX(-50%) translateY(-50%); } </スタイル> </head> <本文> <!-- <div style="width:100%;height:100%;">幅:100%;高さ:100%;</div> --> <div スタイル="高さ:100%;" クラス="div1"> <div class="div2">高さ:100%;</div> </div> <!-- <div style="width:100%;height:200px;">幅:100%;高さ:200px;</div> --> </本文> </html> 6. ソースコードhttps://github.com/JiaXinYi/ife-study/blob/master/height/height.html 交通機関のリンク: (...) フロントエンドの知識 - 記述した height:100% が機能しないのはなぜですか? _Know why - フロントエンド - SegmentFault この記事は、あなたが書いた height:100% が機能しない理由についての説明はこれで終わりです。height:100% が機能しない理由に関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
<<: html-webpack-plugin の使用方法の詳細な説明
>>: 文字列の GBK および GB2312 エンコードとデコードのフロントエンド実装 (概要)
ストアド関数ストアド関数とは: SQL コードの一部をカプセル化し、特定の関数を完了して、結果を返し...
この記事では、主に CSS3 フレックス エラスティック ボックスの自動塗りつぶしの書き方について詳...
前回の記事で、mysqldump バックアップ ファイルに記録されるタイムスタンプ データは UTC...
初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...
まとめインタビュー中、MySQL インデックスの問題について議論しているときに、B+ ツリー、B ツ...
矢印関数は ES6 の新機能です。独自の this はありません。その this ポイントは外部のコ...
<br />この記事では、開発者ツールのさまざまなメニューについて簡単に説明しました。こ...
Ubuntu ではデフォルトで root ログインが許可されていないため、初期の root アカウン...
この記事では、参考までに簡単なタイマーを実装するためのJavaScriptの具体的なコードを紹介しま...
1. 分離マーカーを追加します。 ip netns add fd 2. 指定されたネットワーク カ...
Centos7 上で openresty 用の Dockerfile を作成し、ビルドしました。 d...
許可が拒否されました:その理由は、ファイルの読み取り、書き込み、作成、削除などの権限がないためです。...
今日は618日、主要なショッピングモールはすべてプロモーション活動を行っています。今日は、次のように...
質問Docker が elasticsearch をインストールして起動するときにメモリが不足するシ...
JDK とは何ですか?まあ、この質問がわからないのであれば、なぜこれをインストールするのか本当にわか...