实现水平垂直居中

本文详细介绍了CSS中实现元素居中布局的五种常见方法:弹性盒模型、定位属性与位移属性、Grid、line-height以及CSS-table。每种方法的代码实现、工作原理和适用场景都有所讲解,并针对PC和移动端的兼容性进行了分析。在兼容性要求较高的情况下,推荐使用absolute配合负margin或css-table方法;在无兼容性顾虑时,flex和Grid是更好的选择。
摘要由CSDN通过智能技术生成

1.弹性盒模型

父元素设置:

position:absolute;
top:0;
left:0;
right:0;
bottom:0;
margin:auto
display:flex;
justify-content:center;
align-item:center;

2.定位属性&位移属性(position&transform)

父元素设置:position:relative,

子元素设置:

//第一种
position:absolute;
top:50%;
left:50%
transform:translate(-50%,-50%)
position:absolute;
top:calc(50% - 子元素高度的一半);
left:calc(50% - 子元素宽度的一半);

第三种

绝对定位的百分比是相对于父元素的宽高,通过这个特性可以让子元素的居中显示,但绝对定位是基于子元素的左上角,外边距负值可以解决该方法的缺点,-margin 可以让元素向相反方向定位,通过子元素的外边距为子元素宽度一般的负值,可以让子元素在父级元素中水平垂直居中。
son{
position:absolute;
top:50%
left:50;
margin-left:-50%;
margin-top:-50%;
}

3.Grid

parent {
    display:grid;
}
son {
    align-self:center;
    justify-self:center;
}

4.line-height 文本垂直水平居中

父元素:

设置行高:***px
text-align:center;
font-size:0px

子元素:

若是块级元素转换为行内元素,
display:inline-block;
vertical-align:middle;
line-height:initial;

5.css-table 

父元素:{
        display:table-cell;
        text-align:center;
        vertical-align:middle;
}
son:{
    displayLinline-block;
    }
  • PC有兼容要求,宽高固定,推荐使用absolute + (-margin)
  • PC有兼容要求,宽高不固定,推荐使用css-table
  • PC无兼容要求 ,推荐flex
  • 移动端推荐使用flex
  • 方法居中元素定宽高固定PC兼容性移动端兼容性
    absolute + 负marginie6+, chrome4+, firefox2+安卓2.3+, iOS6+
    absolute + margin autoie6+, chrome4+, firefox2+安卓2.3+, iOS6+
    absolute + calcie9+, chrome19+, firefox4+安卓4.4+, iOS6+
    absolute + transformie9+, chrome4+, firefox3.5+安卓3+, iOS6+
    writing-modeie6+, chrome4+, firefox3.5+安卓2.3+, iOS5.1+
    lineheightie6+, chrome4+, firefox2+安卓2.3+, iOS6+
    tableie6+, chrome4+, firefox2+安卓2.3+, iOS6+
    css-tableie8+, chrome4+, firefox2+安卓2.3+, iOS6+
    flexie10+, chrome4+, firefox2+安卓2.3+, iOS6+
    gridie10+, chrome57+, firefox52+安卓6+, iOS10.3+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值