CSSはDIV垂直中央を実現する
2483 ワード
「44年前に人類を月に送ったが、今はCSSで垂直中心を実現できない」James An derson
以下のコード構造を使用し、直接挿入
以下のコード構造を使用し、直接挿入
:
Am I centered yet?
Center me,please!
、
, :
main {
position: absolute;
top: 50%;
left: 50%;
margin-top: -3em;
margin-left: -9em;
width: 18em;
height: 6em;
}
calc , :
main {
position: absolute;
top: calc(50% - 3em);
left: calc(50% - 9em);
width: 18em;
height: 6em;
}
, 。 , CSS ( margin) , 。
, CSS 。 translate() , , 。
main {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
、
margin 。
main {
width: 18em;
padding: 1em 0.5em;
margin: 50% auto 0;
transform: translateY(-50%);
}
CSS , 。
1、vw 。 ,1vw 1%, 100%。
2、 vw ,1vh 1%。
3、 ,1vmin 1vw, 1vh。
4、 ,1vmax 1vw, 1vh。
main {
width: 18em;
padding: 1em 1.5em;
margin: 50vh auto 0;
transform: translateY(-50%);
}
、 Flexbox
body {
display: flex;
min-height: 100vh;
margin: 0;
}
main {
margin: auto;
}
Flexbox , ( ) 。 , :
Center me,please!
main , Flexbox align-items justify-content ,
main {
display: flex;
align-items: center;
justify-content: center;
width: 18em;
height: 10em;
}