ホームページ >ウェブフロントエンド >CSSチュートリアル >CSS でのマージンの使用方法についての深い理解
1.css marginはコンテナのサイズを変更できます
要素サイズ
可視サイズ -- 標準のボックスモデルにおけるボックスの幅にはマージン値は含まれません、 clientWidth
占有サイズ --マージンの幅を含む outWidth は標準にはない、jqueryに対応するメソッドがある
マージンとビジュアルサイズ
1.1 width/height
を設定せずに通常のブロック水平要素を使用する 2.2 水平サイズのみに適用
int /< >
">
Pictureleftfloating
p>
内箱は外箱を開いて表示しますもちろん、Chrome 以外のブラウザでは空白効果はありません (上部には空白はありませんが、下部には空白はありません)。
正しいアプローチは
&lt; p style = "height:100px;"&gt;通常の要素のマージンの割合は、コンテナの幅を基準にして計算されます。つまり、margin: 10%;---->
top
:60px、left:60px; はすべてコンテナの幅を基準にして計算されます。
絶対配置要素のマージンの割合
img{margin:10%; position:absolute;}
絶対要素のマージンの割合は、最初に配置された要素の祖先要素を基準にしています(相対/絶対/固定)幅は計算されます。通常の要素は、親要素を基準にして計算されます。 % ;position:absolute;" />
ive;
overflow
:hidden; }
.box > p{margin:50%}
.box&g t;p{マージン:50 %}
私の中で私のin in in on in in in in in in nign overlapping。余白の重なりを防ぐためにオーバーフローを設定します
第3章 余白の重なりの共通特性 1. 水平要素をブロックする(float要素と絶対要素を除く) 2.
writing-mode
を考慮しない(テキストの書き込み方向は上から下へ) Bottom )、垂直方向にのみ発生します (
/
margin-bottom
) margin が重なる状況は 3 つあります 1. 隣接する兄弟要素 p{line-height: 2em; margin: 1em 0;background:#f0f3f9;}
.father{background:#f0f3f9}
margin-bottomの重なり
1.1 親要素のノンブロック整形コンテキスト要素
1.2 border-bottom設定のない親要素
1.3 padding-bottomvalue
のない親要素 1.4 親要素と最後の子 要素間にインライン要素はない 分離
1.5親要素には高さ、min-height、max-heightlimit
:#f0f3
son
息子
3.最もマイナスの値
.a{margin-bottom :-50px;}
.b{margin-top:-20px;}
.son{margin -top:-50px;}
1. 連続した段落やリストなど、余白の重なりがない場合、他の兄弟タグとの最初と最後の項目の間隔が1:2になり、レイアウトが不自然になります
2. ネスティングや直接配置ウェブ上のどこにある裸の p は、元のレイアウトには影響しません
3. 欠けている空の man は p 要素であり、元の読み取りレイアウトには影響しません
練習:
余白の重なりを上手に活用しよう
.list{margin-top:15px;}
.list{
margin-top:15px;
margin-bottom:15px;
}
より堅牢な、除去または最後の要素の位置を入れ替えても、元のレイアウトは破壊されません。
第4話:CSSでmargin:autoを理解する
margin:autoの仕組み
widthやheightが設定されていない場合でも、要素が自動的に埋められてしまう場合があります
p{background:#f0f3f9}
p{width:500px;background:#f0f3f9;}
埋めるべき元のサイズを幅/高さで強制的に変更し、その変更後のサイズを埋めるようにmargin:autoを設定します
right
:100px;margin-left:auto; } dedendum』 | 自動は、横の残りのスペースのサイズで、幅がなくてもコンテナ全体を占有することはありません。
display
:block;width:200px;marign:0 auto;} このとき画像はブロック横なので横幅が無くてもコンテナ全体を占領してしまい一つには表示できませんライン。
高さ固定の要素のmargin:auto 0を越えると、縦方向に中央揃えできません
|.father{height:200px;background:#f0f3f9;}
水平方向は中央揃え、垂直方向は中央揃えにしません。
注: 子が親より横方向に大きい場合、負の値であっても計算結果は中央に配置されません。垂直方向のマージンを実装します
を垂直方向に変更し、Margin: Auto
.father {Height: 200px; VERTICAL -lr;}
.son{height:100px;width:500px;margin:auto;}
.father{height:200px;position:relative;}
.son{position:absolute; top:0px right:0pxbottom :0px;left:0px}
.son には幅/高さがなく、絶対要素が自動的にコンテナを埋めます。
.father{height:200px;position:relative;}
.son{position:absolute; top:0px right:0pxbottom:0px;left:0px;height:100px;}
となった。今すぐ伸びて満たされてください。拡張スペースはマージンを設定します: 平均分布は水平垂直になります
.son {positive: AbSolute; Right: 0px;left:0px;width: 500ピクセル;高さ:100ピクセル;マージン:自動;}
IE8+以降をサポート!
第5章: 負の値での CSS マージンの配置
1. 負のマージンで両端を揃える (マージンによって要素サイズが変わります)
例
.box{
.width:1200px; margin:auto;background:orange;
. ul{ overflow:hidden;}
.li{
width:380px;height:300px;
margin-right:20px;
background:green;
float:left;
}
}
隙間があります。実装されたリストの終わり。
そして、負のマージン値を使用してコンテナのサイズを変更し、コンテナの幅を広げます。この問題は完璧に解決できます
.box{
width:1200px; margin:auto;background:orange;
.ul{overflow:hidden;margin-right:-20px;}
.li{
width:386.66px;height: 300px;
margin-right:20px;
background:green;
float:left;
}
}
2. 負のマージン値を持つ等高線レイアウト、マージンは要素が占めるスペースを変更します
マージンと上下のマージン
< p style ="height:200px;">
.child-orange,
.child-green{margin-bottom:-600px ;padding-bottom:600px;}
.child-orange{float:left;background:orange;}
.child-green{float:left; background:green;}
margin-bottomに大きな負の値を設定することで欠けているスペースを埋めるための大きなパディングボトムにより、同じ高さのレイアウトが実現されます。原則:
が設定されていない限り、コンテンツ ブロック要素はパディングで表示できます。 margin
marign:0px
spanにmargin233pxを設定します;
有効な水平方向、垂直方向 方向は無効です。重 2.マージンの重なり
3.表示:表-セル
4. Position と Margin
Margin 値の非位置決め方向の絶対位置決め要素「無効」
絶対位置決めされた Margin 値は、通常の要素としてだけでなく、常に有効です。
5. 到達範囲外マージンは失敗します
bfc コンテンツ ブロックの前に浮動要素がある場合、次の要素のマージンは外側の p を基準にして計算されます。
6. インライン展開によるマージンエラー
が失敗した場合。
説明: インライン要素はベースラインに揃える必要があります。画像の後に x を追加すると、マージン上部がどれだけ離れていてもコンテナの外側から出ないことがわかります。
第7章 margin-startとmargin-end
margin-start
img{
margin-left:100px;
-webkit-margin-start:100px;
-moz-margin-start:100px;
margin-sart :100px;
}
1. 通常のフロー方向では、margin-sart は margin-left と等しく、この 2 つは重なっていて合計されません;
2. 水平方向のフローが右から左の場合、margin-start は次のようになります。に等しい margin-right;direction :ltr(rtl)
3. 垂直フロー (writing-mode:vertical-lr) では、margin-sart は margin-top と同等
webkit の下のその他の margin 関連属性
img{ -webkit- margin-before:100px;} デフォルトのフロー方向の場合、 margin-top margin-after img{-webkit-marign-after:100px;} デフォルトのフロー方向の場合、 margin-bottom;と同等です
margin-collapse 外側の境界線の重なり
-webkit-margin-collapse:collapse|discard| Separate
制御マージンオーバーラップ
デフォルトの重なりを折り畳む
うが
以上がCSS でのマージンの使用方法についての深い理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。