简单总结position定位和元素水平垂直居中

position
position的属性值共有四个常用的:relative、absolute、fixed、static。
首先普及一下文档流的知识:显示元素对象在窗口排列时所占用的位置,自上而下,从左到右。脱离文档流会影响其他元素的位置。

relative:相对定位,不脱离文档流,在文档流原先的位置进行位移。
absolute:绝对定位,脱离文档流,相对于最近的且不为static的父元素进行定位,把父级当成参考物。无父级则相对于body定位。(body和浏览器窗口不是同一个概念,比如body可以设置宽高和边距)
fixed:固定定位,脱离文档流,相对于浏览器窗口定位,不随滚动条滚动而改变位置。
static:默认值,常用到的top、left、bottom、right会失效。

水平垂直居中
常用的四种元素水平垂直居中的方法:
a.父级相对定位,自级绝对定位

div{
    position:relative;
}
p{
    position:absolute;
    width:100px;
    height:100px;
    left:50%;
    top:50%;
    margin-left:-50px;   //这两行代码也可以替换成
    margin-top:-50px;    //transform:translate(-50%,-50%);
}

b.父级display:flex,子级margin:auto

div{
     display:flex;
}
p{
    margin:auto;
}

c.flex布局

div{
    display:flex;
    justify-content:center;   //主轴方向水平居中  
    align-items:center;        //交叉轴垂直居中  
}

d.定位+margin:auto法

div{
    position:relative;
    width: 100px;
    height: 100px;
}
p{
    width: 50px;
    height: 50px;
    position:absolute;
    margin:auto;
    top:0;
    left:0;
    right:0;
    bottom:0
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值