JSは箱の幅が分からない場合、デフォルトで箱をページの中で水平に垂直に中央に位置させる
5700 ワード
もちろん私達が幅の高さを知っている情況の下で、1、私達はCSSの中の絶対的な位置付けを通じて実現します
2、CSSにおけるmargin=autoにより、4方向ともに0とする方法も実現可能
3、CSS 3のフレックスレイアウト(flex)を通じて、箱の中央のくだらない話を多く言わないで、直接コードをつけることができます.
アスペクトがわからない場合
JSではまず1画面の幅を取得し、箱の幅を取得することができます.
以上の方法で、箱を水平垂直に中央に置くことができます.の
#box{
width:100px;
height:100px;
position:absolute;
top:50%;
left:50%;
margin-top:-50px;
margin-left:-50px;
}
2、CSSにおけるmargin=autoにより、4方向ともに0とする方法も実現可能
#box{
width:200px;
height:200px;
margin:auto;
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
}
3、CSS 3のフレックスレイアウト(flex)を通じて、箱の中央のくだらない話を多く言わないで、直接コードをつけることができます.
body {
display: flex;
align-items: center; /* body */
justify-content: center; /* body */
}
#box{
height:200px;
width:200px;
background-color:red;
}
アスペクトがわからない場合
JSではまず1画面の幅を取得し、箱の幅を取得することができます.
var windH = document.documentElement.clientHeight||document.body.clientHeight; // 。( )
var windW = document.documentElement.clientWidth||document.body.clientWidth; // 。
var boxH = document.getElementById('box').offsetHeight; // (border(top\bottom)+padding(top\bottom)+height)
var boxW = document.getElementById('box').offsetWidth; // (border(left\right)+padding(left\right)+width)
#box.style.top=(winH-boxH)/2+'px';
#box.style.left=(winW-boxW)/2+'px';
以上の方法で、箱を水平垂直に中央に置くことができます.の