margin-top が clear: both と共に動作しない
2023-09-20 22:58:33
質問
<div style="float: left;">Left</div>
<div style="float: right;">Right</div>
<div style="clear: both; margin-top: 200px;">Main Data</div>
なぜ
margin:top
が機能していないのはなぜですか?
どのように解決するのですか?
2つのフロートされたdivを 別の に入れることができます。
<div style='overflow:hidden'>
<div style="float: left;">Left</div>
<div style="float: right;">Right</div>
</div>
<div style="clear: both; margin-top: 200px;">Main Data</div>
編集
- この5年前の回答に少し補足します。混乱した動作の原因は、やや複雑な処理である マージンの折りたたみ . OPの元のHTMLを使った良いトリックは、次のようなCSSルールを追加することです。div { border: 1px solid transparent; }
パッと見は これで (私が追加した
<div>
を追加することなく)うまく動作するようになりました。まあ、ボーダーの余分なピクセルを除けば、ですが。特に、私は
と思う
という組み合わせです。
clear: both
の動作とマージンの折りたたみルールの組み合わせで、OPのコードから予想外のレイアウトになったのだと思います。
再度編集する
- 完全な(そして完全に正確だと思う)ストーリーは、以下を参照してください。 Mark Amery の素晴らしい回答 . 詳細については、この回答では説明しきれない複雑さがあります。関連
-
cssで背景色の半透明化を実現する2つの方法
-
[CSSチュートリアル】CSSのクラスとidの共通命名規則
-
[CSSチュートリアル】ボックス内の複数要素を両端揃えの効果で実現するCSS
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] Twitter Bootstrap 3を使用して列を中央に配置する
-
[解決済み] CSS Flexboxで、"justify-items "と "justify-self "プロパティはなぜないのですか?
-
[解決済み] CSS 100% height と padding/margin の関係
-
[解決済み] 親ディバイスの高さを指定せずに、子ディバイスの高さを100%にする方法は?
-
[解決済み] 残りの幅を埋めるためにdivを展開する
-
[解決済み】このCSSのmargin-topスタイルが機能しないのはなぜですか?
最新
-
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チュートリアル]CSSで簡単!高周波な異形ボタンを実現する方法
-
[CSSチュートリアル】CSS+HTMLで実現するトップナビゲーションバー機能
-
[CSSチュートリアル】Chromeのタブバーを実装するためのCSSのコツ
-
[CSSチュートリアル】CSSのシングルDivの描画スキル
-
[CSSチュートリアル】height:100%と書いても効かない理由
-
[Div+CSSチュートリアル】divの背景を透明にする設定例
-
[CSSチュートリアル】子要素のmargin-topが親要素の移動を引き起こす問題解決
-
[ブラウザ互換性チュートリアル]IE9でのネイティブページの互換性問題の解決方法について
-
[CSSチュートリアル】CSSプリグラミング言語と詳細解説の違いについて
-
[解決済み】このCSSのmargin-topスタイルが機能しないのはなぜですか?