在日常开发中,经常需要元素垂直居中或者水平居中,css水平垂直居中方法有很多种,下面列举几种常用的方法;

<div class="parent"><div class="children"></div></div>

父元素 .parent

子元素 .children

1、利用 flex 布局

Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。Flex布局是现在最常用的一种布局方案,平时开发各种布局基本上可以flex一把梭。

给一个容器元素设置display:flex让它变成flex容器。

然后其所有的直接子元素就变成flex子元素了,在flex里存在两根轴,叫主轴和交叉轴,互相垂直,主轴默认水平,flex子元素默认会沿主轴排列,可以控制flex子元素在主轴上伸缩,主轴方向可以设置,相关的css属性分为两类,一类是给flex容器设置的,一类是给flex子元素设置

/* 无需知道被居中元素的宽高 */
.parent{display: flex;align-items: center;justify-content: center;
}

2、子元素是单行文本

设置父元素的 text-alignline-height = height,这种方法适用于子元素为单行文本的情况。

.parent{height: 100px;line-height: 100px;text-align: center;
}

3、利用 absolute + transform

给子元素的position:absolute,再通过transform即可定位到垂直居中的位置。

/* 无需知道被居中元素的宽高 */
/* 设置父元素非 `static` 定位 */
.parent {position: relative;
}
/* 子元素绝对定位,使用 translate的好处是无需知道子元素的宽高 */
/* 如果知道宽高,也可以使用 margin 设置 */
.children{position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);
}

4、利用 grid 布局

grid 布局是W3C提出的一个二维布局系统,通过 display: grid 来设置使用,对于以前一些复杂的布局能够得到更简单的解决。grid布局是将容器划分为行和列,产生单元格,然后指定项目所在的单元格,可以看作是二维布局。主流浏览器基本兼容

/* 无需知道被居中元素的宽高 */
.parent{display: grid;
}
.children {justify-self: center; align-self: center;
}

5、利用绝对定位和 margin:auto

给子元素设置position:absolute绝对定位,然后分别设置left、top、right、botom的值为0,结合margin:auto实现垂直居中和水平居中。

/* 无需知道被居中元素的宽高 */
.children{position: absolute;left: 0;top: 0;right: 0;bottom: 0;margin: auto;
}
.parent{position: relative;
}

使用 CSS 实现垂直居中的5种方法相关推荐

  1. CSS实现垂直居中的7种方法

    CSS实现垂直居中的7种方法 1.设定行高(line-height) 2.设置伪元素::before 3.absolute + transform 4. 设置绝对定位 5.设置display:flex ...

  2. java文本框字体垂直居中_实现css文字垂直居中的8种方法

    注:以下demo都只是针对现代浏览器所做,未兼容低版本的IE以及其他非主流浏览器. 实现css文字垂直居中的8种方法如下: 1.使用绝对定位和负外边距对块级元素进行垂直居中 css垂直居中效果: cs ...

  3. html怎么把元素垂直居中显示,分享html css元素垂直居中的几种方法

    元素垂直居中的几种方法: 方法一:设置height和line-height 在CSS中,line-height 属性设置两段段文本之间的距离,也就是行高,如果我们把一段文本的line-height设置 ...

  4. 使用 CSS 实现垂直居中的8种方法

    ​​​​​​CSS垂直居中的8种方法 目录 ​​​​​​CSS垂直居中的8种方法 1.通过vertical-align:middle实现CSS垂直居中. 2.通过display:flex实现CSS垂直 ...

  5. 纯CSS实现垂直居中的几种方法

    垂直居中是布局中十分常见的效果之一,为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法.有了css3,针对移动端的垂直居中就更加多样化. 方法1:tab ...

  6. 实现css文字垂直居中的8种方法

    CSS可以轻易实现文字的水平居中,但有时我们需要文字垂直居中,除了表格可以实现这种CSS文字垂直居中以外,还有其它几种方法可以做到 https://www.jb51.net/article/17825 ...

  7. CSS中垂直居中的七种方法

    前言: 我们在编辑一个版面,通常都会用到水平居中和垂直居中来设计,而水平居中很好处理,不外乎就是设定margin:0 auto:或是text-align:center:,就可以轻松解决掉水平居中的问题 ...

  8. CSS实现垂直居中的5种方法

    方法一 这个方法把一些 div 的显示方式设置为表格,因此我们可以使用表格的 vertical-alignproperty 属性. <div id="wrapper"> ...

  9. CSS水平垂直居中的几种方法

    我们都知道,固定宽高的 div 在网页中水平垂直居中很简单,相信大家也很容易的写出来,但是不固定宽高的 div 如何水平垂直居中呢?我们在网页布局,特别是手机等 web 端网页经常是不固定宽高的 di ...

最新文章

  1. mysql55w.x86 64 卸载_Cent6.5 64位yum安装mysql5.5
  2. 将一个域下的cookie传到另一个域_单点登录那些事儿(二)同域下的单点登录
  3. 在学习Python中,这个知识我们一定要看一遍,记不住没关系单一定要知道,字符串常用函数用法
  4. mysql里的max怎么用_MySQL中的max()函数使用教程
  5. 链表题目---4 删除链表中重复的结点 和 判断链表是否为回文链表
  6. 智慧交通day01-算法库03:cv.dnn
  7. linux dns 问题吗,Linux下DNS的问题
  8. java8 Stream2
  9. CorelDRAWX4的VBA插件开发(六)录制宏与调试
  10. MySQL数据库 实验报告(一)
  11. openstack镜像格式转换
  12. 云班课使用浏览器倍速播放插件
  13. 计算机取证的相关案例,计算机取证案例分析
  14. 冬瓜哥详解存储OS变迁
  15. 自制动漫小姐姐图片api
  16. 花盆Flowerpot[USACO12MAR]
  17. 跟着老猫来搞GO-内建容器slice
  18. OK外呼中心配置的电话系统规则
  19. 新城控股集团董事长王晓松:由增量转向提质,聚焦有质量的发展
  20. 计算机专业中经典书籍(程序猿和大学生必读)

热门文章

  1. 游戏安全UE4引擎之天堂W跳线程,HOOK明文收包发包并分析加密解密,实现send发包
  2. form action表单提交
  3. Google Inception Net介绍
  4. 分享一个将所有视频AI智剪的方法
  5. Adobe Reader 9无法双击打开pdf格式的文档
  6. 软路由的路由功能设置 - 初学者系列 - 学习者系列文章
  7. 不同朝向的房间,怎么选择舒适的墙布颜色?-江南爱窗帘十大品牌
  8. 携手拾贝云,赋能工业数字化转型
  9. 银行木马BANLOAD加入FIFA世界杯足球赛
  10. Ghost Image