ホームページ >ウェブフロントエンド >CSSチュートリアル >マージン崩壊とは何ですか?どのような状況で現れるのでしょうか?どうやって対処すればいいのでしょうか?
この記事では、CSS ボックス モデルを理解し、マージン崩壊とは何なのかを紹介します。マージン崩壊はどのような状況で発生しますか?そして解決策について話し合います。
CSS では、すべての要素を 1 つずつ「ボックス」で囲みます。私たちはブロックレベルのボックス (ブロック ボックス) の 2 種類の「ボックス」を広く使用します。
) とインライン ボックス (インライン ボックス
)。
CSS では、デザインとレイアウトの際にボックス モデルが使用されます。
ボックス モデルの定義は次の部分に分割できます。
width
と height
によって設定されます。 関連プロパティ。
関連プロパティによって設定されます。
関連プロパティによって設定されます。
box-sizing 属性は、ブラウザが要素の合計幅を計算する方法を定義します。全高。
(デフォルト値)
(標準ボックス モデル)、width: 100px はコンテンツ領域を指します。幅100ピクセル。
padding
border
(代替 (IE) ボックス モデル)
width: 100px は、コンテンツ領域の境界線の内側の余白
の合計を指します。幅は100ピクセルです。
ボックスのサイズ = padding
border
= 100px
どのモデルであっても、実際のサイズには余白は含まれません- もちろん、ページ上のボックスが占めるスペースに影響しますが、ボックスの外側のスペース。
inline
や など) を設定します。 block
、ボックスがインライン レベルかブロック レベルかを制御します。
display: flex が設定されている場合、要素では外部表示タイプは
block ですが、内部表示タイプはflex
に変更されます。ボックスの直接の子要素はすべて flex
要素になり、フレキシブル ボックス (Flexbox
) のルールに従ってレイアウトされます。
display: inline-block もあり、これはインラインとブロックの間の中間状態を提供します。これは、次の状況で非常に役立ちます: 行の折り返しは発生しませんが、幅と高さを設定できるため、ブロック レベルの効果がいくつか得られます:
height
プロパティが有効になります。
margin
、および border
は、他の要素を押しのけます。
(インライン要素) と 2 つのカテゴリに分類されます。 block
(ブロックレベル要素)。
一般的なインライン要素には、
a、b
、span
、img
、strong
、# # が含まれます。 #sub
sup、
button、
input、
label、
select、
textarea #2. ブロックレベル要素とは何ですか?
、
ul、ol
、li
、dl## が含まれます。 #、
dt、
dd、
h1、
h2、
h3、
h4 、
h5、
h6 、
p
フォーマット (デフォルト)、インライン要素は折り返されませんが、ブロックレベル要素は折り返されます。
コンテンツ (デフォルト) では、インライン要素にはデータとその他のインライン要素のみを含めることができます。ブロックレベルの要素には、インライン要素と他のブロックレベルの要素を含めることができます。
属性について:
width
と height
の設定は無効です (line-height は設定できます)、padding
)、外側のマージン (margin
) 上下方向
の境界線(border)は他の要素には影響しません。 プロパティと
height プロパティが機能します。
)、マージン (
margin)、およびボーダー (
border) は、現在の要素の周囲から他の要素を「押しのけ」ます。要素
margin-top) と下マージン (
margin-bottom) は、サイズが 1 つのマージンの最大値である 1 つのマージンにマージ (折りたたまれます) されることがあります (または、それらが一致する場合)。が等しい場合、そのうちの 1 つだけ)、
マージン崩壊 と呼ばれる動作。
とその子/兄弟は折りたたまれません Settingspadding
## 親要素 ##margin- top
は子要素の
margin-top
border-top と
padding-top の値を設定して、それらを区切ることができます。
高さ
auto の親要素の
margin-bottom
1 つは隣接しているために重複が発生し、もう 1 つは親要素の高さが固定されていないために発生します。したがって、親要素に
border-bottom、
padding-bottom を設定してそれらを分離するか、親要素の高さ
max-height## を設定できます。 # と
もこの問題を解決できます。 はコンテンツのない要素であり、独自の
margin-top
と margin-bottom
が重複します。
、padding
、または高さを設定することで解決できます。
float
を引き起こす要因
(なしを除く)
display
position
プログラミング関連の知識の詳細については、
以上がマージン崩壊とは何ですか?どのような状況で現れるのでしょうか?どうやって対処すればいいのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。