关于css布局(水平垂直居中)
2018-03-09 14:32
260 查看
在工作过程中一直碰到关于css布局的问题,其实除了margin:0 auto之外,还有一些很灵活的方法
水平居中
1)使用inline-block+text-align,先将子框由块级元素改变为行内块元素,再通过设置行内块元素居中以达到水平居中。对子框设置display:inline-block,对父框设置text-align:center。<div class="parent"><div class="child>DEMO</div>
</div>
.child{
display:inline-block;
}
.parent{
text-align:center;
}2)使用absolute+transform 将子框设置为绝对定位,移动子框,使子框左侧距离相对框左侧边框的距离为相对框宽度的一半,再通过向左移动子框的一半宽度以达到水平居中。当然,在此之前,我们需要设置父框为相对定位,使父框成为子框的相对框。对父框设置position:relative,对子框设置position:absolute,left:50%,transform:translateX(-50%)<div class="parent">
<div class="child>DEMO</div>
</div>
.parent {
position:relative;
}
.child {
position:absolute;
left:50%;
transform:translateX(-50%);
}3)使用flex+justify-content 通过CSS3中的布局利器flex中的justify-content属性来达到水平居中。先将父框设置为display:flex,再设置justify-content:center。<div class="parent">
<div class="child>DEMO</div>
</div>
.parent { display:flex; justify-content:center;}
垂直居中
1)使用absolute+transform 类似于水平居中时的absolute+transform原理。将子框设置为绝对定位,移动子框,使子框上边距离相对框上边边框的距离为相对框高度的一半,再通过向上移动子框的一半高度以达到垂直居中。当然,在此之前,我们需要设置父框为相对定位,使父框成为子框的相对框。先将父框设置为position:relative,再设置子框position:absolute,top:50%,transform:translateY(-50%)。<div class="parent"><div class="child>DEMO</div>
</div>
.parent {
position:relative;
}
.child {
position:absolute;
top:50%;
transform:translateY(-50%);
}2)使用flex+align-items 通过设置CSS3中的布局利器flex中的属性align-times,使子框垂直居中。先将父框设置为display:flex,再设置align-items:center<div class="parent">
<div class="child>DEMO</div>
</div>
.parent {
position:flex;
align-items:center;
}
水平垂直居中
1)使用absolute+transform 将水平居中时的absolute+transform和垂直居中时的absolute+transform相结合<div class="parent">
<div class="child>DEMO</div>
</div>
.parent {
position:relative;
}
.child {
position:absolute;
left:50%;
top:50%;
transform:tranplate(-50%,-50%);
}2)使用flex+justify-content+align-items 通过设置CSS3布局利器flex中的justify-content和align-items,从而达到水平垂直居中<div class="parent">
<div class="child>DEMO</div>
</div>
.parent {
display:flex;
justify-content:center;
align-items:center;
}
相关文章推荐
- 关于CSS中的水平/垂直居中问题
- HTML-移动端如何使用css让百分比布局的弹窗水平和垂直方向上居中
- [置顶] css设置标签的水平与垂直居中,定位与弹性盒布局的的结合
- css布局之水平垂直居中
- Css学习总结(3)——CSS布局解决方案 - 水平、垂直居中、多列布局、全屏布局
- CSS布局——水平垂直居中布局总结学习
- 使用Sass优雅并高效的实现CSS中的垂直水平居中(附带Flex布局,CSS3+SASS完美版)
- 关于css中两层div的水平垂直居中问题
- css盒模型与bfc与布局与垂直水平居中与css设计模式等
- 关于css的水平,垂直居中
- Css学习总结(3)——CSS布局解决方案 - 水平、垂直居中、多列布局、全屏布局
- CSS 布局2(显示方式、水平居中、左侧固定、垂直居中、左右固定)
- CSS布局之-水平垂直居中
- 关于css的水平垂直居中问题
- CSS常用布局之——水平垂直居中解决方案
- 关于css垂直水平居中的几种方法
- css+div水平垂直居中布局总结(3种方案)
- CSS布局——简洁、兼容性强的垂直水平居中方案
- CSS布局——DIV水平居中和垂直居中
- HTML-移动端如何使用css让百分比布局的弹窗水平和垂直方向上居中