三种方法实现垂直水平居中详解
来源:互联网 发布:喷绘用什么软件 编辑:程序博客网 时间:2024/06/05 15:14
在前端布局中或者笔试面试中,经常会问到如何实现垂直水平居中。以下就是常用的三种解决方法。
使用弹性布局
即display:flex
首先看看html布局
<div class="wrap"> <div class="content"></div></div>
.content通常是指需要垂直水平居中的元素
.wrap就是它的父元素
设置父元素display:flex成为一个弹性盒子
justify-content:center设置其子元素水平居中
align-items:center设置其子元素垂直居中
!!!这里是align-items不是align-content,
关于弹性盒子的问题下一期详细讲解
CSS样式
.wrap{ display:flex; justify-content:center; align-items:center; height: 200px; background:#18587A;}.content{ width: 1000px; height: 100px; background:#FC624D;}
优点:支持响应式布局,不需要具体计算
缺点:对IE兼容性不是太好(辣鸡IE)
下面介绍第二种方法
使用绝对定位
即position:absolute
设置其父元素为相对定位display:relative
设置子元素,也就是需要垂直居中的元素display:absolute
设置子元素left:50%,top:50%,这样子元素的左上角就移动到父元素的中心了
设置子元素margin-left: - 子元素宽度的一半,margin-top: - 子元素高度的一半
注意margin取负数,这样子元素就实现垂直水平居中了
CSS
.wrap{ position: relative; height: 200px; background-color: yellow; }.content{ position: absolute; left: 50%; top: 50%; width: 100px; height: 100px; margin-left: -50px; margin-top: -50px; background-color: green; }
优点:兼容性比较好,支持更多浏览器
缺点:需要计算子元素的宽度和高度(不使用LESS和SASS情况下)
最后介绍一种方法
使用table-cell
设置父元素display:table-cell
设置父元素vertical-align: middle实现内容垂直居中
设置父元素text-align: center实现内容水平居中
下面看看具体的代码
.wrap{ display: table-cell; vertical-align: middle; text-align: center; height: 500px; width: 200px; background: red; }.content{ display: inline-block; width:100px; height: 200px; background-color: green; }
完结
阅读全文
1 0
- 三种方法实现垂直水平居中详解
- css水平垂直居中三种实现方法
- css水平垂直居中三种实现方法
- 水平垂直居中div三种方法
- 元素的水平及垂直居中实现方法二三
- 16种方法实现水平居中垂直居中
- 如何让DIV水平和垂直居中三种方法
- 让一个元素垂直水平居中的三种方法
- 元素的垂直水平居中的三种方法
- CSS 水平垂直居中 方法三
- 水平/垂直居中详解
- 用css实现垂直水平居中的几种方法
- 实现div水平、垂直居中的几种方法
- 【css】实现垂直水平居中的几种方法
- CSS实现水平垂直居中的几种方法
- css实现水平垂直居中的几种方法
- 实现水平垂直居中的五种方法
- css实现垂直水平居中的5种方法
- 15章 进程间通信之消息传递(管道、FIFO、消息队列)
- hdu1029 Ignatius and the Princess IV——多数元素
- 新装的Ubuntu系统可能要做的事(备忘)
- 当eclipse卡死的时候关闭重启eclipse,运行TOMCAT时,提示8080端口被占用的解决方法
- 2. Add Two Numbers
- 三种方法实现垂直水平居中详解
- Tomcat安装与启动
- TestNG参数传递方法
- 统计学习方法笔记: CART算法
- C 创建链表的四种方式
- Pose Guided Person Image Generation
- POJ 1328
- 一篇文章搞懂DOM
- H