css多种方式实现元素的居中效果

效果

这里写图片描述


页面基本结构

<!DOCTYPE>
<html>
<head>
	<style>
		html,body{width:100%;height:100%;margin:0;padding:0;}
		.box{}
		.item{}
	</style>
</head>
<body>
	<div class="box">
		<div class="item"></div>
	</div>
</body>
</html>

方法

一、适用于父元素和子元素宽高都不固定

  • 绝对定位拉伸效果(IE8+)
.box{
	/*父级元素宽高自适应*/
	width:100%;
	height:100%;
	background:#26a69a;
}		
.item{
	position:absolute;
	/*left/right/top/bottom都设为0会让元素被撕扯*/
	left:0;
	right:0;
	top:0;
	bottom:0;
	width:50%;
	height:50%;
	/*再通过margin:auto实现居中*/
	margin:auto;
	background:#000;
}
  • flex布局(IE10+)
.box{
	width:100%;
	height:100%;  
	display:flex;
	display:-webkit-flex;
	justify-content:center;
	align-items:center;
	background:#26a69a;
}
.item{
	width:50%;
	height:50%;
	background:#000;
}
  • -webkit-box布局(IE不兼容)
.box{
	width:100%;
	height:100%;  
	display:-webkit-box;
	-webkit-box-pack:center;/*水平方向居中*/
	-webkit-box-align:center;/*垂直方向居中*/
	background:#26a69a;
}
.item{
	width:50%;
	height:50%;
	background:#000;
}

二、适用于子元素宽高固定的水平居中

  • magin+left/top(只是一种思考方法,并不一定最实用)
.box{
	width:100%;
	height:100%;  
	background:#26a69a;
}
.item{
	position:absolute;
	width:200px;
	height:300px;
	left:50%;
	margin-left:-100px;/*自己宽的一半*/
	top:50%;
	margin-top:-150px;/*自己高的一半*/
	background:#000;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值