css3实现垂直水平居中7种方法

6 篇文章 0 订阅
1、知道子级宽高固定 (定位 +负margin)
  <view class="parent-box">
   <view class="children">
   </view>
  </view>
.parent-box{
  position: absolute;
  top: 50%; left: 50%;
  -webkit-transform: translate(-50%,-50%);  
  -ms-transform: translate(-50%,-50%);  
  transform: translate(-50%,-50%); 
}
2、也需要知道子级宽高固定 (定位 + margin auto)
.parent-box{
border: 2rpx solid red;
position:relative;
width:600rpx;
height:600rpx;
}
.children{
position:absolute;
background:green;
width:200rpx;
height:200rpx;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}
3.、也需要知道子级宽高固定 (定位 + calc [为css3计算属性])
.parent-box{
border: 2rpx solid red;
position:relative;
width:600rpx;
height:600rpx;
}
.children{
position:absolute;
background:green;
width:200rpx;
height:200rpx;
top:calc(50% - 100rpx); //减去子级宽高的一半(注意空格,不要写成 负宽高 ,需要加空格)
left:calc(50% - 100rpx);
}
4、不需要知道子级的宽高 (定位 + transform)
.parent-box{
border: 2rpx solid red;
position:relative;
width:600rpx;
height:600rpx;
}
.children{
position:absolute;
background:green;
width:200rpx;
height:200rpx;
top:50%;
left:50%;
transform: translate(-50%, -50%);
}
5、利用行内元素居中属性
.parent-box{
	line-height:600rpx;
	text-align:center;
	font-size:0rpx;
  background: #007AFF;
}
.children{
	font-size:32rpx;
	display:inline-block;
	vertical-align:middle;
	line-height:initial;
 	background: #4CD964;
}
6、利用css3新增的table属性
.parent-box{
	border: 2rpx solid red;
	width:600rpx;
	height:600rpx;
	display:table-cell;
	text-align:center;
	vertical-align:middle;
	
}
.children{
	background:green;
	width:200rpx;
	height:200rpx;
	display:inline-block;
}
7、 最新的 flex布局
.parent-box{
	border: 2rpx solid red;
	width:600rpx;
	height:600rpx;
    display:flex;
	justify-content:center;
	align-items:center;
}
.children{
	background:green;
	width:200rpx;
	height:200rpx;
}

引用于这位大佬的内容 https://segmentfault.com/a/1190000016389031

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值