csss实现水平垂直居中的方法大全

本文详细介绍了如何在HTML/CSS中实现元素的水平居中和垂直居中,包括text-align、margin:0 auto、flexbox、absolute定位等方法,并揭示了W3C关于auto-margins的规则。阅读以掌握精准布局技术。
摘要由CSDN通过智能技术生成


1. 水平居中
  • 1.1 行内元素
  • (1) text-align:center
  • 1.2 块级元素
  • 确定宽度
    (1) margin:0 auto;
    (2) 子绝父相 + margin-left:-自己width/2
  • 未知宽度
    (4) display:inline-block; text-align:center
    (5) 子绝父相 + translateX(-50%)
    (6) display:table;margin:0 auto;
    (7) display:flex; justify-content:center
2. 垂直居中
  • vertical-align:middle(内联元素/display:table-cell)
  • line-height(适合纯文本)
  • 子绝父相 + left:0;right:0 + margin:auto;(设置宽)
  • 子绝父相 + top + translateY
  • display:flex; margin:auto;

重点:
W3C规定,top,bottom设置为auto,其实默认值为0。margin:auto; == margin:0 auto;只是水平居中
W3C规定,只有绝对定位的元素才可以使用top,bottom为auto的自动分配从而实现上下左右都自动分配margin。但是前提要设置top,bottom,left,right为0,使得元素找到边界,margin也可以找到边界去auto分配外边距,从而实现水平垂直居中。

参考文章:
1.margin:auto不能实现垂直居中
2.margin: 0 auto 水平居中原理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值