Webフロントエンドの中央にある問題
2415 ワード
妄:生意気;
できないものはただ生意気な心を抱いて、それを見抜くふりをするしかないだろう.
CSSセンター問題
定幅ブロック要素中央 幅(ブロック要素の幅widthが固定値)とブロックの2つの条件を満たす要素は、左右のmargin値がautoであることによって中央に位置することができる.注意:この場合、保証が必要です:position:relative;不定幅ブロック要素中央 実際の作業では、ページの数が不確定なため、幅を設定することで弾力性を制限することはできません.(不定幅ブロック要素:ブロック要素の幅widthは固定されません.)
i.ブロックレベル要素のdisplayをinlineタイプ(行内要素表示に設定)に変更し、text-alignを使用して中央効果を実現します.
ii. 親要素にfloatを設定し、親要素にposition:relativeとleft:50%を設定し、子要素にposition:relativeとleft:-50%を設定することで水平中央を実現します.
親要素の高さ決定された単行テキストは、親要素のheightとline-heightの高さを一致させることによって実現される(heightは要素の高さ、line-heightは行の高さ、テキスト内の行と行の間のベースライン間の距離を指す). 親要素の高さが決定された複数行のテキストは、body、tr、tdを含む挿入tableラベルを使用してvertical-align:middleを設定します.
この数行は#login_boxの目的は、ブラウザで水平に中央に表示させることです.(このlogin_boxは、ブラウザがどのように引き伸ばされても常に中央に保たれます)
原理(ブラウザの中心点と#login_boxの中心点を揃え、.footをブラウザの中で水平に中央に位置させる):
left:50%; #login_をboxの左枠はブラウザの左から50%離れているのでlogin_box全体はブラウザの真ん中ではなく、
margin-left:-150 pxを使用する必要があります.#login_をboxは、150ピクセル(すなわち、login_box自体の幅の半分)を左に移動します.これでbox全体がブラウザの真ん中に位置します.
top: 50%; margin-top:-75 pxの理屈は同じです.
できないものはただ生意気な心を抱いて、それを見抜くふりをするしかないだろう.
CSSセンター問題
1 text-align:center
テキスト中心の問題(画像)
2 align-content
このアトリビュートは、複数行のflexコンテナにのみ適用され、サイド軸に余分なスペースがある場合はflex線を整列させます.
使用前提:flexレイアウト;
(「妄」の目を見て-CSSのflexレイアウトと枠線の影を着たい)
任意のレイアウト:display:flex;
行内要素:display:inline-flex;
3中まとめ
3.1水平中央
3.1.1行内の要素が中央にある(テキスト(text)、ピクチャ(img)、ボタンなど)
text-align:center;
3.1.2ブロック要素が中央にある
.div1{
width:200px;
border:1px solid red;
margin:0 auto;
}
<div class="div1">Hello worlddiv>
i.ブロックレベル要素のdisplayをinlineタイプ(行内要素表示に設定)に変更し、text-alignを使用して中央効果を実現します.
ii. 親要素にfloatを設定し、親要素にposition:relativeとleft:50%を設定し、子要素にposition:relativeとleft:-50%を設定することで水平中央を実現します.
3.2垂直方向中央
3.3水平垂直中央
#login_box {
width: 300px;
height: 150px;
border: 1px solid #ccc;
position: absolute;
left: 50%;top: 50%;
margin-left: -150px;
margin-top: -75px;
}
この数行は#login_boxの目的は、ブラウザで水平に中央に表示させることです.(このlogin_boxは、ブラウザがどのように引き伸ばされても常に中央に保たれます)
原理(ブラウザの中心点と#login_boxの中心点を揃え、.footをブラウザの中で水平に中央に位置させる):
left:50%; #login_をboxの左枠はブラウザの左から50%離れているのでlogin_box全体はブラウザの真ん中ではなく、
margin-left:-150 pxを使用する必要があります.#login_をboxは、150ピクセル(すなわち、login_box自体の幅の半分)を左に移動します.これでbox全体がブラウザの真ん中に位置します.
top: 50%; margin-top:-75 pxの理屈は同じです.