html垂直军中,css垂直居中的几种方法

利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法。下面我们就来介绍几种css实现垂直居中的方法。

4eb3c1e901cf3410c9cbb9cbc684b91a.png

方法一、对父容器使用display: table-cell+vertical-align: middle;使其内的子元素实现垂直居中;

原理:父元素设置为表格的单元格元素,而在表格单元格中的元素设置vertical-align: middle;会使其以中间对齐的方式显示;

869f151f9d1171e14037627e3abe5eae.png

方法二、父元素设置伪元素并设置伪元素display: inline-block;、vertical-align: middle;和height: 100%,然后设置子元素display: inline-block;、vertical-align: middle;;

原理:父元素设置伪元素,然后让其内的伪元素高为父元素的100%高度,再用vertical-align: middle;和display: inline-block;使子元素与伪元素并排,并且以中间对其的方式进行对其;

af1e3755d05b5d78d380d670b4875a02.png

方法三、设置上下相同的padding(如果子元素是block或inline-block元素,还可对子元素设置上下margin相同来达成同样效果);

PS:常用于父元素无固定高度时;

原理:利用内边距将内容区域夹在中间;

4f96dea17a9c6b33ba768436dbfafd2f.png

方法四、利用给父元素设置相对定位,子元素设置绝对定位、margin: auto 0;和top: 0; bottom: 0;实现垂直居中;

原理:因为auto关键词默认自动分配剩余空间,宽度相对window是固定的,所以margin: 0 auto;可以有水平居中的效果,而高度相对window并不是固定的。

所以margin: auto 0;不能垂直居中,所以让子元素的上下margin值不相对于window进行计算,改为相对父元素进行计算即可让margin: auto 0;生效。

d1502771b54a58c3e86c8eddbbb7a03e.png

方法五、利用绝度定位和负margin实现子元素垂直居中;

原理:利用子元素绝对定位,相对父元素向下移动父元素高度的50%,然后再利用负margin向上移动自身高度的50%达到垂直居中效果;

8fb5d621e5c15f2b7d11258ca26f07da.png

更多相关知识请关注前端学习网站

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值