css实现垂直居中的常用技巧
来源:互联网 发布:selected知乎 编辑:程序博客网 时间:2024/04/29 01:06
在实际开发过程中,我们经常会遇到让某个盒子在其父元素内居中的需求。而在布局中,居中又分为垂直居中与水平居中。水平居中的实现方法很简单,设置margin: 0 auto;就行,而垂直居中相对来说就麻烦了很多,下面就来说说工作中我用到过的一些方法:
首先,来两个盒子out_box与inner_box:
父盒子out_box为灰色背景,子盒子inner_box为蓝色背景,我们要让蓝色盒子居中与灰色盒子内部。首先让蓝色盒子水平居中:
接下来实现垂直居中,我用过一下几种方法:
1、定位+边距法:
先是给父元素加position: relative;子元素加position: absolute;让子元素相对于父元素定位,然后设置top: 50%;这是子元素会相对父子元素乡下移动父元素高度一般的距离(250px),我们再给子元素加margin-top: -100px; 让子元素再往上移动自身高度一半的距离,所以,最终子元素距离父子元素上下边距为 (父元素高度*50% -子元素高度*50%),就垂直居中了。
由于我们给子元素加了position: absolute; 这个属性,所以用margin: 0 auto; 的方式水平居中就无效了,因此,用与设置垂直居中相同的方法来设置水平居中。(left: 50%; margin-left: -100px;)
2、absolute+auto
给父元素设置position: relative;子元素设置 position: absolute;在给子元素上下左右四边定位收设为0;最后设置四边的margin为auto;就能让子元素居中与父元素了。
使用这个方法要注意的是,子元素的高度与宽度必须固定,不能是自适应,否则就会铺满父元素。
3、css3的flex布局
这是css3推出的弹性布局,适用于一些新版本的浏览器,实现方法很简单,只要给父元素设置display: flex;,再规定父元素内的子元素的对其方式即可,对于flex布局有很多知识点,想要详细了解的可以去看阮一峰老师的博客http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html:
除了以上说的这三种方法之外,还有很多种,只是在开发中,我觉得这三种用起来更简单快捷一些。
- css实现垂直居中的常用技巧
- css 实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS实现垂直居中的常用方法
- CSS控制文本垂直居中的技巧
- CSS实现垂直居中!
- CSS实现垂直居中
- CSS实现垂直居中
- CSS实现垂直居中
- UART寄存器详解
- 第一篇博客
- Tomcat启动时卡在“INFO: Deploying web application directory ......”的解决方法
- 合并两个排序的链表使之依然有序(不开辟新空间在原链表上操作的非递归版本)
- 数据结构——单链表(C语言实现)
- css实现垂直居中的常用技巧
- tf.nn
- 【动态代理】从源码实现角度剖析JDK动态代理
- F
- JAVA基础
- 通俗理解Android中View的事件分发机制及滑动冲突处理
- 二.Jedis入门(单实例连接测试)
- 小知识点汇总
- Java基础知识----线程