css实现垂直居中

实现水平居中,比较简单,对于行内元素,设置text-aligin:center;对于块级元素,设置left:0;right:0;margin: 0 auto。

以下是实现垂直居中的方法:

1.最简单的文字垂直居中,利用line-height属性,设置其和父元素等高

2.父元素设置样式table-cell

{display:table-cell;vertical-align:middle;}

低版本的IE浏览器,还需要给子元素添加{display:inline-block;}

3.给父元素添加伪类

:after{content:";width:0;height:100%;display:inline-block;vertical-align:middle;}

4.块级元素已知宽高的话,利用定位和负边距,若不想脱离文档流,子元素可以设置相对定位

.parent{position:relative;}

.child{position:absolute;width:100px;height:100px;top:50%;margin-top:-50px;}

5.块级元素已知宽高,利用定位和0,若不想脱离文档流,子元素可以设置相对定位

.parent{position:relative;}

.child{position:relative;width:100px;height:100px;top:0;bottom:0;margin auto 0;}

6.利用css3中的translate,目前浏览器支持情况:Safari 3.1+、 Chrome 8+、Firefox 4+、Opera 10+、IE9+

.child{position:absolute;top:50%;left:50%;width:100%;transform:translate(-50%,-50%);}

7.利用flex布局,但是有兼容问题

Android

2.3 开始就支持旧版本display:-webkit-box;

4.4 开始支持标准版本display: flex;

IOS

6.1 开始支持旧版本display:-webkit-box;

7.1 开始支持标准版本display: flex;

PC

ie10开始支持,但是IE10的是-ms形式的。

.parent{display:flex;align-items:center;}

8.利用flex布局和margin:auto

.parent{display:flex;}

.child{margin:auto;}

9.利用display:-webkit-box

.parent{display:-webkit-box;-webkit-box-pack:center;-webkit-box-align:center;-webkit-box-orient: vertical;text-align: center;}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 10,128评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 8,899评论 0 6
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 前几天去食堂吃饭碰到了同事L,面容憔悴,头发油光,整个人瘦了一圈,脸上的斑都浮现出来,看起来无精打采。 我忍不住问...
    余小鱼MsYu阅读 3,269评论 0 2
  • 坚持原创分享第110天 晚上到办公室取本书,出来晚了几分钟,结果铁将军把门。车出不来小事,关键人也出不来,另一处行...
    宛如初夏阅读 1,716评论 0 0