上下左右居中的方法总结
2015-04-13 09:18
295 查看
居中的方法有很多,比较难的是选择合适的方法。
今天搜了一下,总结一下各种居中方法的优缺点。
演示效果
使用flexbox伸缩盒布局
简单,可能以后会成为主流
兼容性差 查看这里
把包裹的父容器显示方式改成table,子元素改成table-cell,然后table-cell里面的元素就可以使用vertical-align 属性。(当然不只是table-cell,vertical-align适用于 inline level, inline-block level 及 table-cells 元素上),再加上左右居中就行了。
####优点:
可以自适应高度
万恶的IE6/7不支持此属性
使用多一个div
现在比较常用的方法,top设置为50%,然后margin-top设置成 -(自身高度的一半)
简单,常用
自适应程度不高,需要设置固定的高度
移动设备上经常会用到,特别是当你不知道父容器的大小和自身的大小的时候。
简单粗暴,高度自适应(不管你大小宽高多少,都能上下左右居中)
浏览器兼容问题~ 要增加前缀(-webkit-transform 等)
在这基础上使用CSS 3动画会有冲突(使用到transform)
设置了宽高以后,下面的css代码就能上下左右居中了呢~
简洁
需要设置宽高,空间不够的时候,内容会被截断。
万恶的IE6/7不支持此属性
一种小技巧, 设置一个float div,高度50%,margin-bottom设置成为-(居中div的高度一半),然后居中div设置clear:both,mrgin:auto(左右居中)即可~~
适用于所有浏览器
没有足够空间时(例如:窗口缩小) content 不会被截断,滚动条出现
需要多余的元素
深入了解 Flexbox 伸缩盒模型
未知尺寸元素水平垂直居中
今天搜了一下,总结一下各种居中方法的优缺点。
演示效果
方法一
使用flexbox伸缩盒布局
优点:
简单,可能以后会成为主流
缺点:
兼容性差 查看这里
方法二
把包裹的父容器显示方式改成table,子元素改成table-cell,然后table-cell里面的元素就可以使用vertical-align 属性。(当然不只是table-cell,vertical-align适用于 inline level, inline-block level 及 table-cells 元素上),再加上左右居中就行了。####优点:
可以自适应高度
缺点:
万恶的IE6/7不支持此属性使用多一个div
方法三
现在比较常用的方法,top设置为50%,然后margin-top设置成 -(自身高度的一半)
优点:
简单,常用
缺点:
自适应程度不高,需要设置固定的高度
方法四
移动设备上经常会用到,特别是当你不知道父容器的大小和自身的大小的时候。position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
优点:
简单粗暴,高度自适应(不管你大小宽高多少,都能上下左右居中)
缺点:
浏览器兼容问题~ 要增加前缀(-webkit-transform 等)在这基础上使用CSS 3动画会有冲突(使用到transform)
方法五
设置了宽高以后,下面的css代码就能上下左右居中了呢~top: 0; bottom: 0; left: 0; right: 0; position: absolute; margin: auto;
优点:
简洁
缺点:
需要设置宽高,空间不够的时候,内容会被截断。万恶的IE6/7不支持此属性
方法六
一种小技巧, 设置一个float div,高度50%,margin-bottom设置成为-(居中div的高度一半),然后居中div设置clear:both,mrgin:auto(左右居中)即可~~
优点:
适用于所有浏览器没有足够空间时(例如:窗口缩小) content 不会被截断,滚动条出现
缺点:
需要多余的元素
推荐阅读:
深入了解 Flexbox 伸缩盒模型未知尺寸元素水平垂直居中
相关文章推荐
- css:子元素div 上下左右居中方法总结
- 盒子模型上下左右居中方法总结
- css:子元素div 上下左右居中方法总结
- 让图片img标签在div里上下左右居中的方法
- 图片自适应父元素大小,并左右上下居中的css方法
- css3 上下左右居中子元素的方法
- html中盒子上下左右居中方法汇总
- div中的文字上下左右居中的方法
- 让table 居于页面的正中间(上下左右均居中的方法)
- 图片自适应父元素大小,并左右上下居中的css方法
- 弹层高度宽度不确定,始终上下左右居中(css方法)
- CSS处理文本上下、左右居中的方法,以及最右边列自动适应
- 水平垂直居中的四种方法 div在div中上下左右居中
- css上下垂直居中方法总结
- 解决移动端等比例图片上下左右居中的方法
- 图片上下左右居中等比缩放
- Appium 1.7 实现上下、左右滑动页面方法
- css3 来实现图片在指定容器内等比例缩放,并控制中上下左右居中
- css---flex布局中,如何响应式 得水平垂直居中?flex子元素左右 上下居中
- Ubuntu vi 上下左右变ABCD问题解决方法