ホームページ ウェブフロントエンド CSSチュートリアル Firefox のマージントップが失敗する理由と解決策

Firefox のマージントップが失敗する理由と解決策

Feb 09, 2017 am 11:49 AM

なぜこの説明を翻訳する必要があるのでしょうか? css2 を翻訳した人がいますが、実際に見てみると非常に荒いです (私だけがそう言っているわけではありません。翻訳者は本当に素晴らしいです!) 最近、css に触れることが多くなりました。 xhtml ですが、数が増えれば増えるほど混乱が生じます。
今、私は、多くの問題は決して問題とは言えないと感じています。例えば、牛のナイフで鶏を殺すことは不可能ではありませんが、根本的な原因が間違っている場合、その見た目は不合理です。問題を表面から解決する場合、常に混乱するのは避けられません。先ほども言いましたが、現実的であり、衝動的になってはなりません。
この説明では、「マージンの縮小」とは、2 つ以上のボックス モデル間の隣接するマージン属性 (関係は隣接またはネストすることができます) (それらの間に空でないコンテンツがあってはなりません)、パディング領域、境界線、または明確な分離方法の使用を意味します。 ) を組み合わせて 1 つのマージンとして表します。
CSS2.1では横余白は潰れません。
一部のボックス モデルでは垂直マージンが折りたたまれる場合があります:
1. 通常のドキュメント フローでは、2 つ以上のブロック レベルのボックス モデルの隣接する垂直マージンが折りたたまれます。
最終的なマージン値の計算方法は次のとおりです:
a. すべてが正の値である場合は、最大値を取得します。
b. すべてが正の値ではない場合は、その正の値から最大値を減算します。 ;
c. 正の値がない場合は、絶対値を取得し、0 から最大値を減算します。
注: 隣接するボックス モデルは DOM 要素から動的に生成される場合があり、隣接関係や継承関係はありません。
2. 隣接する と モデルで、どちらかがフローティングされている場合、フローティング ボックス モデルとその子要素の間であっても、垂直方向のマージンは折りたたまれません。
3. オーバーフロー属性が設定された要素とその子要素の間のマージンは折り返されません(オーバーフロー値が表示されている場合を除く)。
4. 絶対配置 (position:absolute) が設定されているボックス モデルの場合、子要素間であっても垂直方向のマージンは折りたたまれません。
5. display:inline-block が設定されている要素の場合、子要素であっても垂直方向のマージンは折りたたまれません。
6. ボックスモデルの上下のマージンが隣接している場合、マージンが崩れる可能性があります。この場合、要素の位置は、隣接する要素のマージンが折りたたまれているかどうかによって決まります。
a. 要素のマージンとその親要素のマージントップが一緒に折りたたまれている場合、ボックスモデルのボーダートップの境界定義はその親要素の境界定義と同じになります。
b. さらに、どの要素の親要素もマージンの折り畳みに参加しないか、親要素のマージンボトムのみが計算に参加します。要素のボーダートップがゼロ以外の場合、要素のボーダートップの位置は以前と同じです。
クリア操作が適用された要素のマージントップは、そのブロックレベルの親要素のマージンボトムと折り畳まれることはありません。
折り目で覆われた要素の位置は、折り畳まれた他の要素の位置に影響を与えないことに注意してください。境界線の上端の位置は、これらの要素の子要素をレイアウトする場合にのみ必要です。
7. ルート要素の垂直マージンは折りたたまれません。
浮動ブロックレベル要素のマージンボトムは、その兄弟要素がクリアオペレーション。
フローティング ブロック レベル要素のマージン トップは、その最初のフローティング ブロック レベルの子 (フローティングされた最初のインフロー ブロック レベルの子) のマージン トップに隣接しています (要素にボーダー トップがない場合、パディングはありません) - 最上位要素と子要素はクリアされません)。
フローティング ブロック レベル要素の margin-bottom が次の条件を満たす場合、その要素は最後のフローティング ブロック レベル子要素の margin-bottom に隣接します (要素が padding-bottom または border を指定していない場合)。
a. Height:auto を指定します
b、min-height は要素の実際の高さ (height) より小さい
c、max-height は要素の実際の高さ (height) より大きい
min-height 属性の場合要素の が 0 に設定されている場合、その所有マージンは隣接しており、border-top と border-bottom も、padding-top と padding-bottom もありません。その高さ属性は 0 または auto にすることができ、含めることはできません。インライン ボックス モデル (ライン ボックス) では、そのすべての浮動子要素 (存在する場合) のマージンも隣接しています。
要素が所有するマージンが折りたたまれ、クリア操作を使用すると、そのマージントップはすぐ後の兄弟要素の隣接するマージンと一緒に折りたたまれますが、その結果、そのマージンはブロックレベルと一致しません。親要素の margin-bottom が折りたたまれています。
折り畳む操作は、padding、margin、border の値に基づいて行われます (つまり、ブラウザがこれらすべての値を解析した後)。折り畳まれたマージンの計算により、使用されているさまざまなマージン値が上書きされます。

<div id="d0" style="background-color:#333333;height:500px;"> 
<br style="line-height:0;"/> 
//不加入br这一行,在FIREFOX中id1的margin-top:20px将会在d0上作用,使d0上方与body间有20px的间距,d1与d0的上方没有间距,而IE内正常显示 
<div id="d1" style="background-color:#000000;margin-top:20px;height:100px;"></div> 
<div id="d2" style="background-color:#000000;margin-top:20px;height:100px;"></div> 
</div>
ログイン後にコピー

Firefox のマージントップ障害の原因と解決策に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

GraphQLキャッシングの使用 GraphQLキャッシングの使用 Mar 19, 2025 am 09:36 AM

最近GraphQLの作業を開始した場合、またはその長所と短所をレビューした場合、「GraphQLがキャッシュをサポートしていない」または

最初のカスタムSvelteトランジションを作成します 最初のカスタムSvelteトランジションを作成します Mar 15, 2025 am 11:08 AM

Svelte Transition APIは、コンポーネントがカスタムSVELTE遷移を含むドキュメントを入力または離れるときにアニメーション化する方法を提供します。

ショー、Don&#039; t Tell ショー、Don&#039; t Tell Mar 16, 2025 am 11:49 AM

あなたのウェブサイトのコンテンツプレゼンテーションの設計にどれくらいの時間に費やしますか?新しいブログ投稿を書いたり、新しいページを作成したりするとき、あなたは考えていますか

Redwood.jsと動物相を使用してイーサリアムアプリを構築します Redwood.jsと動物相を使用してイーサリアムアプリを構築します Mar 28, 2025 am 09:18 AM

最近のビットコインの価格が20k $ $ USDを超えており、最近30Kを破ったので、イーサリアムを作成するために深く掘り下げる価値があると思いました

NPMコマンドは何ですか? NPMコマンドは何ですか? Mar 15, 2025 am 11:36 AM

NPMコマンドは、サーバーの開始やコンパイルコードなどの1回限りのプロセスまたは継続的に実行されるプロセスとして、さまざまなタスクを実行します。

CSSを使用して、テキストシャドウやグラデーションなどのテキスト効果を作成しますか? CSSを使用して、テキストシャドウやグラデーションなどのテキスト効果を作成しますか? Mar 14, 2025 am 11:10 AM

この記事では、影やグラデーションなどのテキスト効果にCSSを使用し、パフォーマンスのために最適化し、ユーザーエクスペリエンスの向上について説明します。また、初心者向けのリソースもリストしています。(159文字)

Eleventyで独自のBragdocを作成します Eleventyで独自のBragdocを作成します Mar 18, 2025 am 11:23 AM

開発者としての段階に関係なく、私たちが完了したタスクは、大小を問わず、個人的および専門的な成長に大きな影響を与えます。

特異性について話すために(x、x、x、x)を使用しましょう(x、x、x、x) 特異性について話すために(x、x、x、x)を使用しましょう(x、x、x、x) Mar 24, 2025 am 10:37 AM

先日、エリック・マイヤーとおしゃべりをしていたので、形成期のエリック・マイヤーの話を思い出しました。 CSS特異性に関するブログ投稿を書きました

See all articles