[解決済み】margin-collapsingを無効にする方法は?
2022-04-04 07:57:13
質問
マージン折りたたみを完全に無効にする方法はありますか? 私が見つけた唯一の解決策は(quot;uncollapsing"という名前で)、1pxのボーダーまたは1pxのパディングを使用することを必要とするものでした。 私はこれを受け入れられません。余分なピクセルが無意味に計算を複雑にします。 この余白の折りたたみを無効にする、もっと合理的な方法はないでしょうか?
解決方法は?
余白の崩れ方には、大きく分けて2種類あります。
- 隣接する要素間の余白の折りたたみ
- 親要素と子要素の間の余白の折りたたみ
paddingやborderを使用すると、後者の場合のみ崩壊を防ぐことができます。また
overflow
デフォルトとは異なる (
visible
) を親に適用すると、折りたたみを防ぐことができます。したがって
overflow: auto
と
overflow: hidden
は同じ効果を持ちます。おそらく
hidden
は、親の高さが固定されている場合、コンテンツを隠してしまうという予期せぬ結果をもたらします。
親に適用すると、この動作を修正するのに役立つ他のプロパティは、次のとおりです。
-
float: left / right
-
position: absolute
-
display: inline-block / flex
ここですべてのテストができます。 http://jsfiddle.net/XB9wX/1/ .
例によって、Internet Explorerは例外であることを付け加えておく。具体的には、IE 7では、親要素に何らかのレイアウトが指定されている場合、マージンが崩れることはありません。
width
.
出典 Sitepointの記事 マージンの折りたたみ
関連
-
[解決済み】なぜ私のdivは重なっているのですか?
-
[解決済み] ボーダーの太さをパーセントで設定するには?
-
[解決済み] textareaのresizableプロパティを無効にするにはどうしたらよいですか?
-
[解決済み] ネストしたdivのcssを簡素化
-
[解決済み] bootstrap 4 でカードブロックの不透明度を変更する方法
-
[解決済み] セレクトボックスのテキストを中央揃えにすることは可能ですか?
-
[解決済み] 四角いボタンの作り方
-
[解決済み] Font Awesomeで2つ以上のアイコンを重ねる/重ねるには?
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] リスト項目にマウスを置いたときに、カーソルを手の形に変えるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】サイドバーの位置を変更する
-
[解決済み] "セレクタ(CSS)にIDを使うな "なら、IDの代わりに何を使えばいい?
-
[解決済み] ユーザーエージェントのスタイルシートが私のCSSを上書きしないようにする方法
-
[解決済み] :first-child が期待通りに動作しない
-
[解決済み] ブラウザでCSSファイルが更新されない
-
[解決済み] Bootstrap 3でnavbar-static-topは何をするのですか?
-
[解決済み] three.jsの背景を透明や他の色に変更する。
-
[解決済み] cssでこの要素を取得するには
-
[解決済み] twitter-bootstrapの@-ms-viewportというタグは何ですか?
-
[解決済み] CSS オーバーフローの hidden と visible が親要素の位置に与える奇妙な効果 [重複] について