CSS实现元素垂直居中若干方法

CSS元素垂直居中一直都是一个让人头疼的问题,这里总结了4种方法,当然通过改变定位可以有6种甚至更多。

1.position配合margin

这个基本可以说是烂大街的方法了,好处就是兼容性好,直接上代码。

.content{

position:absolute;

width:550px;

height:364px;

top:50%;

left:50%;

margin-left:-275px;

margin-top:-182px;

background:url("images/love.jpg");

}

2.position配合margin改进

IE6-9不兼容,使用CSS3函数calc()

.content{

position:absolute;

top: calc(50% -182px);    // top移动的距离其实就是(总高度-容器高度)/2,有没有觉得这个思路很酷?

left: calc(50% -275px);  

width:550px;

height:364px;

background:url("images/love.jpg");

}

3.position配合transform(对于不定宽高容器同样适用)

同样还是不支持IE6-IE9,因为transform为CSS3新属性。

.content{

position:absolute;

top:50%;

left:50%;

width:550px;

height:364px;   

transform:translate(-50%,-50%);

background:url("images/love.jpg");

}

4.flex配合margin  (对于不定宽高容器同样适用)

同样还是不支持IE6-IE9,因为flex为CSS3新属性。

body{   //父元素

display:flex;

height:500px;

}

.content{  //子元素

margin:auto;

background:url("images/love.jpg");

}

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

推荐阅读更多精彩内容

  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 13,267评论 0 8
  • 不会用代码框,所以看着有些乱套,,,,html部分 <!DOCTYPE html> 迅雷看看 ...
    这就是个帅气的名字阅读 5,480评论 0 0
  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 8,391评论 0 11
  • 它, 霸道地赶走云团, 留下自己喜欢的蓝, 主宰着星云的家园! 它, 恣意地发出烈剑, 不顾金蝉裂肺的叹, 扫荡着...
    hsl_7cbf阅读 1,748评论 0 2
  • 数组函数 数组是集合中的特例,有着优秀的品质。从抽象数据模型角度,可以模拟栈,队列,hash表,树的操作。实际在树...
    Transnet2014阅读 1,683评论 0 0