div centering_html/css_WEB-ITnose の問題
div {
マージン: 自動;
上: 0;
右: 0;
幅: 100px;
高さ: 100px;
border:1px 実線の赤;
は div、幅: 100px; 高さ: 100px の赤を生成します。画面の真ん中にあるという点が理解できません。なぜ次のことができないのですか?
div {
マージン: 自動;
上: 0;
幅: 100px;
border:1px 赤一色;
ディスカッションに返信(解決済み)
質問 1
上: 0;
左: 0; 上: 0; 右: 0 bottom: 0;質問 2 なぜ
margin: auto をtop: 0; に置き換えることができないのですか;
right: 0
bottom: 0;
ブラウザを開いて、ブラウザのビューポートのサイズを変更します。
ブロックを含む要素の定義に従って、div の位置は絶対に設定され、配置値 (leftrighttopbottom) が設定されているため、div の親には位置 " の祖先がないためです。 「absolute」、「relative」、または「fixed」要素であるため、この div の包含ブロックは最初の包含ブロック、つまりルート要素 html の包含ブロックになります。コンソールで html タグを選択すると、次のことがわかります。ビューポート全体が選択されているため、この時点で最初に含まれるブロックはビューポートです。
css2.1 によると、'top' + 'margin-top' + 'border-top-width' + 'padding -top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = 含まれるブロックの高さ
margin 属性を auto に設定します空白スペースを埋める
ビューポート サイズが変化すると、マージンが変化することがコンソールで確認できます。値もそれに応じて変化します。
質問 1:
左右または上下のみが設定されます マージンが自動の場合、左と右または上下のスペースは左の効果を実現するために埋められます属性 0、右側の属性 0、上部の属性 0、および下部の属性 0。それ以外の場合、div は 100*100 程度の大きさしかなく、左側が 0、右側が 0 の効果を実現することは不可能です。マージンを追加するだけで、ドキュメント フロー内で占有されるスペースが増加します
<html> <head> <style type="text/css"> div { margin: auto; position: absolute; right: 0; bottom: 0; top: 0; left: 0; width: 100px; height: 100px; border:1px solid red; } </style> </head> <body> <div></div> </body></html>
配置値 (leftrighttopbottom) を設定しない場合は、質問 1 と同じです。この時点では、margin 属性は auto であり、何の役割も果たしません。
ブラウザを開き、ブラウザのビューポートのサイズを変更すると、まだ中央にあることがわかります。
div は絶対位置に設定され、ブロックを含む要素の定義に従って、div の親には位置が「絶対」、「相対」、または「固定」の祖先要素がないため、配置値 (leftrighttopbottom) が設定されます。 div の包含ブロックは、ルート要素 html の包含ブロックです。コンソールで html タグを選択すると、ビューポート全体が選択されていることがわかります。 time は、css2.1 の 'top' によるビューポート
' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = 含まれるブロックの高さ
ギャップを正確に埋めるには、margin 属性を auto に設定します
ビューポートのサイズが変化すると、マージンの値もそれに応じて変化することがコンソールで確認できます。
質問 1:
left 属性と top 属性のみがある場合、margin 属性は auto であり、効果はありません。
左右または上下が設定されている場合のみ、余白が自動の場合、上下の空白は左属性0、右属性0、上属性0、下属性の影響を受けます。それ以外の場合、div は 100*100 程度の大きさしかなく、左 0 と右 0 の効果を実現することは不可能です。マージンを追加するだけで、ドキュメント フロー内で占有されるスペースが増加します
<html> <head> <style type="text/css"> div { margin: auto; position: absolute; right: 0; bottom: 0; top: 0; left: 0; width: 100px; height: 100px; border:1px solid red; } </style> </head> <body> <div></div> </body></html>
配置値 (leftrighttopbottom) を設定しない場合は、質問 1 と同じです。この時点では、margin 属性は auto であり、何の役割も果たしません。
ドキュメント フローで占有されるスペースを増やすという上記の説明は間違っています。位置属性は絶対的なものであり、ドキュメント フローから分離されています。div が占めるスペースを増やすのがより正確です。 >

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。
