博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS实现垂直居中水平居中
阅读量:5164 次
发布时间:2019-06-13

本文共 1545 字,大约阅读时间需要 5 分钟。

1、绝对定位居中(子元素需设置宽高)

  • > 原理:元素在过度受限情况下,将margin设置为auto,浏览器会重算margin的值,过度受限指的是同时设置top/bottom与height或者left/right与width。

内容块的父容器:

position:relative;

子元素: (必须设置高度)

position: absolute;top: 0;left: 0;bottom: 0;right: 0;margin:auto;

2、绝对定位配合margin(子元素需设置宽高)

  • > 原理:top:50%元素上边界位于包含框中点,设置负外边界使得元素垂直中心与包含框中心重合;

第一种

 
  

第二种

3、table-cell方式(子元素不需设置宽高)

  • > 原理:利用表格布局的特点,vertical-align设置为middle;单元格中的内容与所在行中间对齐

父容器:(设置宽高)

display:table-cell;text-align:center;vertical-align:middle;

子元素:

display:inline-block;vertical-align:middle;

 

11111111111

 

 

4、通过添加空span标签使图片居中(子元素需设置宽高)

父容器:

text-align: center;

<span>:

display: inline-block;  //将行内元素改变为行内块元素显示width: //1px; 实现IE下可读效果height: 100%; //使用元素高度和图片容器高度一样vertical-align: middle; //垂直对齐

图片:

vertical-align: middle;

 

 

 

5、外边距margin取负数,大小为width/height(不使用box-sizing: border-box时包括padding,)的一半,再加上top: 50%; left: 50%;。

(子元素需设置宽高)

 

 

6、内容定义transform:translate(-50%,-50%),并且加上top:50%;left:50%。(子元素需设置宽高)

 

 

7、增加额外子元素设置margin-bottom为内容元素的高度+padding的一半。(不能实现水平垂直居中,仅垂直居中)

  • > 原理与2方法类似,floater的下边界是包含框的中心线,负下外边界保证center的中心线与包含框中心线重合

 

 

8、inline-block方式(子元素不需设置宽高)

  • > 原理:为同一行的inline-block元素设置vertical-align:middle,该行内的inline-block元素会按照元素的垂直中心线对齐。
11111111111111111111

 

 

9、弹性盒式布局(子元素不需设置宽高)

第一种

111111111111

第二种

111111111111

 

转载于:https://www.cnblogs.com/wangadai/p/7159747.html

你可能感兴趣的文章
第五篇、微信小程序-swiper组件
查看>>
SecureCRT来上传和下载文件
查看>>
core文件
查看>>
python练习 遍历目录os.walk()
查看>>
box-sizing
查看>>
浅谈流形学习(转)
查看>>
单向链表
查看>>
O2耳放 DIY 模拟放大
查看>>
Linux 下源码编译安装 vim 8.1
查看>>
网络图片查看器
查看>>
QT 创建对话框 Dialog 实例
查看>>
题目标题: 第39级台阶
查看>>
有关在线OJ网络AC爬虫
查看>>
ajax给全局变量赋值问题解决
查看>>
30分钟学会如何使用Shiro
查看>>
【BZOJ4945】【NOI2017】游戏(搜索,2-sat)
查看>>
ubuntu下android开发环境的搭建详细教程
查看>>
利用JsonConvert.SerializeObject()实现类对象的json化
查看>>
使用flask-mail发送电子邮件时出现的问题
查看>>
Spring3系列10- Spring AOP——Pointcut,Advisor拦截指定方法
查看>>