CSS中几种居中的方式

##在css布局中 无论是水平居中还是垂直居中 都是常用的布局方式 今天我们就来聊下 常见的居中布局方式

1、transform:translate(-50%,-50%)方式

先看代码
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<style type="text/css" media="screen">
		.cdiv{
			background: yellowgreen;
			position: relative;
			width: 100px;
			height: 100px;
		}
		img {
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);
		}
	</style>
</head>
<body>
	<div class="container">
		<div class="cdiv">
			<img src="images/search.png" />
		</div>
	</div>
</body>

对齐后的样式

这是我们最常见的定位 这种定位的优点是不用关心被定位元素的宽高 直接可以定位到父元素的水平和垂直居中的位置

注意要点

  1. 元素开启 absolute定位后 img的样式生成块级元素 相当于img原来是display:inline 现在变成display:block,被定位元素的left和top要确定为50% 要注意此元素的left和top的50%是根据已经开启了定位的父元素来定位的 假如父元素 是默认的静态定位 即:position:static 这个是不算定位的 被定为元素会跳过静态定位的父元素 寻找不是静态定位的更高辈分的父元素
  2. 为什么要加 transform: translate(-50%, -50%) 这个属性 原因是top:50% 和 left:50% 只是把被定为元素的左上角定位到父元素的中点位置 transform: translate(-50%, -50%) 属性的作用是被定位元素的x,y轴向左,向上移动自身的50% 这样就达到了居中的目的了

2、使用margin属性 使元素居中

在这里插入图片描述

这是使用absolute和margin属性居中定位的方式

注意要点
1.父元素要position:relative定位
2. img 要用绝对定位 left right top bottom 要全部设成0 这样做的目的是保证img在四个方向上没有定位
也可以说成保证img在四个方向上都有定位 向四个方向拉扯 然后margin为auto 就可以自动在水平和垂直方向上居中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值