元素的居中
程序员文章站
2022-05-01 23:27:50
...
1.不确定宽高的情况下实现盒子的居中(无兼容问题)
/* 不确定宽高的情况下实现盒子的居中
左右的百分比是相等的,两个之间相加不能大于100%*/
#box {
position: absolute;
left: 10%;
right: 10%;
top: 25%;
bottom: 25%;
background-color: #0ff;
}
2.固定的宽高(IE9+以上,最简单)
*{
margin: 0;
padding: 0;
}
.big{
width: 400px;
height: 400px;
background: blue;
border-top: 1px solid transparent;
}
.big>div{
width: 200px;
height: 200px;
background: red;
/* 知道元素的宽高*/
/* 设置水平垂直自动适应*/
margin: auto;
/* 当 margin : 0 auto; 需要兼容的时候,可以设置 text-align : center;
(两个条件: 必须有宽 必须是块级元素 ) */
}
3.用弹性盒子布局(IE9+以上)
*{
margin: 0;
padding: 0;
}
/* 设置高为 100 的必要条件*/
html {
height : 100%;
}
body {
height: 100%;
}
.big{
/* 设置高 设置父盒子的flex
设置水平居中 和 垂直居中 */
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.big>div{
width: 200px;
height: 200px;
background: red;
}
/* 如果知道两个盒子的宽高,可以通过margin 0 auto ,和设置上下的边距 */;
4.用position定位(无兼容问题,需要知道宽高)
*{
margin: 0;
padding: 0;
}
.big{
width: 400px;
height: 400px;
background: blue;
position: relative;
}
.big>div{
width: 200px;
height: 200px;
background: red;
position: absolute;
top: 50%;
left: 50%;
margin-left: -100px;
margin-top: -100px;
/* transform : translate(-50%,-50%)
有兼容的问题,需要IE9+以上*/
}
下一篇: 【已解决】CSS: 元素在div中居中