目录

在不知道子元素宽高的情况下,水平垂直居中的六种方式:

1、弹性盒子布局方式来实现(flex)。

2、绝对定位 + transform

3、table标签

4、display:table-cell

5、display: grid

6、writing-mode 属性


在不知道子元素宽高的情况下,水平垂直居中的六种方式

在实际使用最好测试下最低版本是否支持对应的实现方式,尽量选各个浏览器支持比较好的,或者最常见的实现方式。

1、弹性盒子布局方式来实现(flex)。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>水平垂直居中</title>
</head>
<style>html,body {width: 100%;height: 100%;padding: 0;margin: 0;}.box {display: flex;align-items: center;justify-content: center;width: 100%;height: 100%;background: #00affc;}.box1 {background: pink;}
</style><body><div class="box"><div class="box1">中间盒子水平垂直居中了</div></div>
</body></html>

浏览器兼容性:

2、绝对定位 + transform

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>水平垂直居中</title>
</head>
<style>html,body {width: 100%;height: 100%;padding: 0;margin: 0;}.box {width: 100%;height: 100%;background: #00affc;}.box1 {background: pink;transform: translate(-50%, -50%);position: absolute;top: 50%;left: 50%;}
</style><body><div class="box"><div class="box1">中间盒子水平垂直居中了</div></div>
</body></html>

浏览器兼容性:

3、table标签

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>水平垂直居中</title>
</head>
<style>html,body {width: 100%;height: 100%;padding: 0;margin: 0;}table {width: 100%;height: 100%;}.box {background: #00affc;}.box1 {text-align: center;}
</style><body><table><tbody><tr><td class="box"><div class="box1">中间盒子水平垂直居中了</div></td></tr></tbody></table>
</body></html>

兼容性:基本都支持,只是书写起来比较繁琐,多层嵌套。

4、display:table-cell

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>水平垂直居中</title>
</head>
<style>html,body {width: 100%;height: 100%;padding: 0;margin: 0;}.box {width: 300px;height: 300px;background: red;display: table-cell;text-align: center;vertical-align: middle;}.box1 {display: inline-block;}
</style><body><div class="box"><div class="box1">中间盒子水平垂直居中了</div></div>
</body></html>

浏览器兼容性:主流浏览器基本上都支持的。

5、display: grid

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>水平垂直居中</title>
</head>
<style>html,body,.box {width: 100%;height: 100%;}.box {display: grid;}.box1 {align-self: center;justify-self: center;}
</style><body><div class="box"><div class="box1">123123</div></div></body></html>

浏览器兼容性:最新主流浏览器基本上兼容,对于老版本浏览器可能会有兼容性问题。

6、writing-mode 属性

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>水平垂直居中</title>
</head>
<style>html,body,.content {width: 100%;height: 100%;}.content {writing-mode: vertical-lr;text-align: center;}.box {writing-mode: horizontal-tb;display: inline-block;text-align: center;width: 100%;}.box1 {display: inline-block;margin: auto;text-align: left;}
</style><body><div class="content"><div class="box"><div class="box1">123123</div></div></div></body></html>

浏览器兼容性问题:

CSS 水平垂直居中的方式相关推荐

  1. css 水平垂直居中实现方式

    css 水平垂直居中实现方式 css中有好多实现居中的方式,在项目中经常不知道使用哪种方式会比较好,所以记录下来. 水平垂直居中包括行内元素居中,以及块级元素居中 行内元素html结构 <div ...

  2. css水平垂直居中对齐方式

    css水平垂直居中总共有四种方法 ① 使用绝对定位 注意:使用绝对定位居中需要固定宽高 position:absolute; top:0; left:0; bottom:0; right:0; wid ...

  3. CSS水平垂直居中: flex方式

    .title{/*flex 布局*/display: flex;/*实现垂直居中*/align-items: center;/*实现水平居中*/justify-content: center;text ...

  4. css居中怎么移动,移动端css水平垂直居中

    水平垂直居中 1.margin 负值调整偏移实现 兼容性: 当前流行的使用方法. .box{ width: 100%; height: 100%; } .content{ position: abso ...

  5. html 水平垂直居中,css水平垂直居中有几种实现方式?

    项目中经常碰到需要实现水平垂直居中的样式.下面就总结几种常用的方法 css水平垂直居中有几种实现方式? 1.水平对齐+行高 [思路一]text-align + line-height实现单行文本水平垂 ...

  6. css 垂直居中_CSS 水平+垂直居中的方式

    关于CSS 水平+垂直居中的问题,开发代码的过程中,会经常遇到. 那么,在这里,我会介绍几种方式,来实现CSS的水平+垂直居中. 首先,我们先将body,html的高度和宽度设置为100%,其次清除默 ...

  7. CSS实现水平垂直居中的方式有哪些?

    目录 CSS实现水平垂直居中的方式有哪些? 1.利用flex布局 2.利用flex+margin 3.利用定位,子绝父相 3.1.利用margin: auto(偏移量都为0) 3.2.利用平移tran ...

  8. CSS水平垂直居中的五种方式

    CSS水平垂直居中的几种方式 absolute and -margin 需要设置盒子的宽度和高度 .father{border:1px solid red;width: 80vh;height: 90 ...

  9. css水平垂直居中四种常用方式

    css水平垂直居中 第一种:flex布局水平垂直居中 思路: 给父盒子display属性设置flex值,然后使用justify-content与align-item属性进行居中. 参考:阮一峰的fle ...

最新文章

  1. go语言for的三种形式
  2. numpy.add详解
  3. (JAVA)String常用的方法
  4. ActivityManager: Warning: Activity not started, its current task has been brought to the front
  5. mybatis实战教程(mybatis in action)之二:以接口的方式编程
  6. css控制 区域 圆角 显示
  7. php中的魔术常量__FILE__
  8. 【路径规划】基于狼群算法之三维路径规划matlab源码
  9. 【Visio开发工具】用Visio绘制封闭曲面并填充颜色
  10. Device模块管理设备信息,用于获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等
  11. 22、T5L 迪文屏 C51开发之Hello World例程
  12. Python爬取某站上海租房图片!
  13. 转发与重定向的区别详解
  14. html5做密码形式的游戏,html5仿支付宝密码框的实现代码
  15. 27个iOS开源库,让你的开发坐上火箭吧
  16. 中国健康与营养调查数据(chns)
  17. 如何找到自己的第二职业?
  18. [爆笑网文]伤害MM的六句金言
  19. 做不好这一点,企业微信运营可能要全“白搭”!【企业微信增长神器Vol.1】
  20. android 地图面积测量,Android开发自定义控件,实现Arcgis for Android测距、测面积功能...

热门文章

  1. 为什么适用于Python的TensorFlow正在缓慢消亡
  2. Android P 以及之后版本不支持同时从多个进程使用具有相同数据目录的WebView
  3. (自己编写函数)Python + Opencv 图像形态学处理(腐蚀、膨胀、开运算、闭运算)
  4. Deformable Conv及其变体
  5. 【机器学习】机器学习在社会科学中的应用
  6. (精华2020年5月4日更新) vue教程篇 v-for的使用
  7. 智能车菜单编写(2)
  8. 用matlab如何求和,Matlab的求和函数sum如何使用,
  9. [Mvel]Mvel2.0使用指南一 基础(表达式语言)
  10. 2021年危险化学品经营单位主要负责人试题及解析及危险化学品经营单位主要负责人作业考试题库