css居中常用的几种方法

一、水平居中

1. 行内元素水平居中
  • 当子元素在父元素上设置text-align: center; 使文字/图片水平居中


    text-align: center; 文字水平居中
2. 块级元素水平居中
  • 2.1定宽块级元素水平居中
    • 给需要居中的块级元素加margin: 0 auto;
    • 原理:两侧auto,平分剩余空间,相当于水平居中。
    • 一定要设置宽度width值
margin: 0 auto; 定宽块级元素水平居中
  • 2.2 不定宽块级元素水平居中(宽度不固定)
    • 方法1:设置table:通过给要居中显示的元素,设置display: table,然后再设置margin: 0 auto来实现。
      display: table;水平居中
  • 方法2:设置inline-block(多个块状元素):子元素设置inline-block,同时父元素设置text-align: center;

    display: inline-block; 水平居中

  • 设置flex布局:把要处理的块状元素的父元素设置display: flex; justify-content: center;

    display: flex; 水平居中

二、水平垂直居中

1. 单行文本水平垂直居中
  • 设置上下padding相同 + text-align居中
  • 利用内边距将内容区域夹在中间
  • 常用于父元素无固定高度时
padding相同,text-align居中
2. 绝对定位 + 负margin
绝对定位+负margin实现垂直水平居中
3. 设置伪元素

原理:父元素设置水平居中对齐,然后再设置伪元素,然后让伪元素高度为父元素的100%高度,设置inline-block元素为垂直居中对齐,使子元素与伪元素并排,然后再中间对齐。

伪元素垂直水平对齐
4. display: table-cell

原理:父元素设置为表格的单元格元素,在表格单元格里面的元素设置verticalr-align: center垂直居中+text-align: center水平居中

display: table-cell + vertical-align + text-align: center垂直水平居中
5. position+transform
  • transform里的translate偏移的百分比是相对于自身大小,根据左(x轴)和顶部(y轴),给的参数,从当前元素位置移动,如:translate: (50px 100px)是从左边元素移动50px,并从顶部移动100px。
position+transform
6. flex布局
flex布局实现的垂直水平居中

参考:https://www.jianshu.com/p/0494d1dd7f50

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CSS实现垂直居中在网页布局中是经常会用到的,所以一定要牢记这些方法以应对之,写下这篇文章也是为了巩固自己的知识点...
    大春春阅读 1,233评论 0 2
  • CSS 的居中问题是一个经常被抱怨的东西。为啥居个中要这么麻烦?我觉得可能问题不在于难,而在于每次一查,有各种各样...
    DaveWeiYong阅读 437评论 0 0
  • 一、水平居中 1.行内元素居中(文字/图片)在父元素上加上text-align:center; 2.块级元素居中设...
    我才是大田田阅读 261评论 0 0
  • margin: 0 auto; text-align: center 居中 当父元素设置了宽高 可用margin:...
    U17阅读 625评论 0 0
  • 1.div绝对定位水平垂直居中【margin:auto实现绝对定位元素的居中】 兼容性:,IE7及之前版本不支持 ...
    凯凯_阅读 466评论 0 0