1.最简单

margin: 0 auto
line-height等于height

.outer {width: 200px;padding: 200px;background-color: pink;}.inner {width: 100px;height: 100px;background-color: skyblue;margin: 0 auto;line-height: 100px;text-align: center;}

2.绝对定位的几种方式

2.1 absolute + 负 margin

.outer {position: relative;
}.inner {position: absolute;left: 50%;top: 50%;margin-left: -50px;margin-top: -50px;/*需要inner元素的宽高*/
}

2.2 absolute + transform

.outer {position: relative;
}.inner {position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);/*css3里translate里的%移动距离
是盒子自身的宽度和高度来对
可以不知道元素的宽高*/
}

2.3 absolute + calc

.outer {position: relative;
}.inner {position: absolute;left: calc(50% - 50px);top: calc(50% - 50px);/*需要inner元素的宽高calc()函数可以使用数字属性值来执行加、减、乘、除,四则运算*/
}

2.4 absolute + margin: auto

.outer {position: relative;
}.inner {position: absolute;left: 0;right: 0;top: 0;bottom: 0;margin: auto;/* top bottom left right 值相等即可 */
}

此时设置 margin: auto;

意味着把剩余的空间分配给 margin,并且左右均分,

所以就实现了水平居中,垂直方向同理。

副作用:
left: 0; right: 0; 相当于 width: 100%;
top: 0; bottom: 0; 相当于 height: 100%;
缺点:需要固定居中元素的宽高,否则其宽高会被设为 100%

4.flex布局
写法1

.outer {display: flex;/*使子项目水平居中*/justify-content: center;/*使子项目垂直居中*/align-items: center;
}

写法2

.outer {display: flex;
}.inner {margin: auto;
}

5:grid布局

.outer {display: grid;
}.inner {justify-self: center; /* 水平居中 */align-self: center; /* 垂直居中 */
}
.outer {display: grid;
}.inner {margin: auto;
}

CSS实现水平垂直居中的几种方式相关推荐

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

    css实现水平垂直居中的七种方式 一.使用grid布局 二.使用flex布局 三.使用定位+外边距 四.使用定位+平移 五.使用外边距 + 平移 六.使用文本对齐 + 行高 七.使用表格单元 一.使用 ...

  2. CSS实现水平垂直居中的6种方式

    大家好,我是小梅,公众号:「小梅的前端之路」 原创作者. 作为在前端领域不断探索的一员,在此记录开发中遇到的问题,如果你也遇到了相同的问题,希望本文对你有帮助. 在开发中经常需要实现的一个页面效果是: ...

  3. css设置子盒子水平垂直居中(四种方式)

    css设置子盒子水平垂直居中(四种方式) 1. 使用绝对定位 <!DOCTYPE html> <html><head><meta charset=" ...

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

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

  5. CSS图片水平垂直居中的三种方法

    CSS图片水平垂直居中的三种方法 设置行高 使用定位和translate 使用弹性盒子 设置行高 我们知道img元素为行内快元素,所以首先设置图片元素的父元素里文字水平居中,行高与整体高度一致. 其次 ...

  6. 水平垂直居中的几种方式

    文章目录 水平垂直居中 一.实现水平垂直居中的方式 二.具体实现 元素定宽高 利用定位 + calc 利用定位 + margin:负值 元素不定宽高 利用定位 + margin:auto 利用定位 + ...

  7. HTML水平垂直居中的四种方式

    第一种方式是使用margin进行移动 水平居中 margin:0 auto; <!DOCTYPE html> <html lang="en"> <he ...

  8. CSS实现水平垂直居中的五种方法

    前言 今天来看看一个之前困扰我很久的问题,在CSS中,水平垂直居中,能有几种写法. 方法一:margin:auto 子绝父相,当元素绝对定位的时候,会根据最近父元素进行定位,利用这个特性,我们有了这种 ...

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

    CSS水平垂直居中 一.利用margin:auto 二.利用position: absolute 三.弹性盒子 四.利用水平对齐和行高 五.grid 为方便理解,欢迎查看线上效果,在线试一试 一.利用 ...

最新文章

  1. SpringBoot (八) :Spring Boot多数据源(JdbcTemplate)配置与使用
  2. 大话设计模式(四 业务的封装)
  3. php 创建 cookie文件,PHP创建Cookie数组
  4. Python中的sort()方法使用基础
  5. java平移变换_java移位运算符:(左移)、(带符号右移)和(无符号右移)。...
  6. 比较List和ArrayList的性能及ArrayList和LinkedList优缺点
  7. Ionic3与Angular4新特性
  8. 3DMAX场景渲染失败怎么办?
  9. 是什么门的缩写_什么是FBA
  10. python中国大学慕课网_高级语言程序设计(Python)中国大学慕课搜题网站
  11. PMCAFF微课堂|范冰:Growth Hacker——用能量颠覆你的想象
  12. 无线时长连接服务器,ESP8266无线NTP Stratum1服务器的制作
  13. oracle常用知识,oracle的基本知识
  14. HDOJ 1495非常可乐
  15. data-toggle,data-target,data-dismiss
  16. CSS引入外部艺术字体
  17. [Java笔记13] 日期与时间
  18. 拉曼光谱仪 便携式手持拉曼光谱分析仪识别仪 1064激发波长 抗荧光干扰 无损快速一键检测TFN F670
  19. 字节跳动发放年终奖,远超预期~
  20. linux bc计算器命令:分别计算整数的平方与平方根结果

热门文章

  1. PS制作金属质感的文字
  2. LeetCode:401(Python)—— 二进制手表(简单)
  3. FPGA PLL时钟经 ODDR送到管脚
  4. 锐速与BBR的原理简单解析
  5. 浅谈android中加载高清大图及图片压缩方式(二)
  6. SQL语句更改畅捷通T+表名
  7. 备战蓝桥杯-枚举、排序、模拟专项练习详解(含有多道蓝桥杯原题)
  8. 基因数据处理82之cs-bwamem处理SRR003161(参考基因组为GRCH38chr1)
  9. 参与一个Python的开源项目Python-QQ
  10. MySQL MGR 宕机后如何开启复制