图片垂直居中的5种css方法
2016-09-09 23:32
393 查看
图片垂直居中的css方法
今天我要介绍的是采用css进行图片居中的5个方法。首先确定我们的HTML结构(若不特别说明,下面皆采用该HTML结构)<div class="vertical-center"> <img src="1.jpg" alt="StarXY"> </div>
1.此方法会在img标签前加上一个inline-block的span标签,并给两个标签都设置vertical-align: middle。 HTML代码更改为:
<div class="vertical-center"> <span></span><img src="1.jpg" alt="StarXY"> </div>
css代码为:
body { font-family: "Microsoft YaHei"; font-size: 14px; padding: 0; margin: 0; } .vertical-center { width: 200px; height: 200px; text-align: center; border: 1px solid #ff4500; } /* 使用 .vertical-center:before会有2px的像素差,原因不明 */ .vertical-center span{ display: inline-block; width: 0; height: 100%; font-size: 0; vertical-align: middle; } .vertical-center img { display: inline-block; vertical-align: middle; }
2.给img元素加上绝对定位,并设置margin负值。
body{ padding: 0; margin: 0; } .vertical-center{ position: relative; width: 200px; height: 200px; border: 1px solid #ff4500; } .vertical-center img{ position: absolute; left: 50%; top: 50%; width: 160px; height: 160px; margin: -80px 0 0 -80px; }
3.img元素绝对定位,并设置left, right, top, bottom为0。
body{ padding: 0; margin: 0; } .vertical-center{ position: relative; width: 200px; height: 200px; border: 1px solid #ff4500; } .vertical-center img{ position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; }
4.div类型为table-cell,并设置vertical-align: middle
body{ padding: 0; margin: 0; } .vertical-center{ display: table-cell; width: 200px; height: 200px; text-align: center; vertical-align: middle; border: 1px solid #ff4500; }
5.对img使用css3属性tranform: translate(-50%, -50%)
body{ padding: 0; margin: 0; } .vertical-center{ width: 200px; height: 200px; border: 1px solid #ff4500; } .vertical-center img{ position: relative; left: 50%; top: 50%; transform: translate(-50%, -50%); }
最终效果图如下:
以上五种方法,性能各有优劣。第一种和最后一种性能最优,第二三四种因为采用了绝对定位或者table-cell对性能消耗较大,不建议采用。
相关文章推荐
- CSS图片垂直居中方法整理集合
- CSS垂直居中网页布局实现的5种方法
- CSS实现垂直居中的5种方法
- CSS图片垂直居中方法整理集合 !(常见问题解答)
- Div垂直居中及容器内图片垂直居中的CSS解决方法
- 垂直居中及容器内图片垂直居中的CSS解决方法
- CSS实现垂直居中的5种方法
- [推荐] CSS图片垂直居中方法整理集合 !(常见问题解答)
- CSS图片垂直居中方法整理集合
- 垂直居中及容器内图片垂直居中的CSS解决方法
- CSS 垂直居中的5种实现方法
- CSS图片垂直居中方法整理集合 !
- CSS实现垂直居中的5种方法
- CSS实现垂直居中的5种方法
- CSS垂直居中网页布局实现的5种方法
- 用CSS让img input select button 图片,文本框,下拉菜单,按扭垂直居中的方法
- css实现的让图片垂直居中的方法
- 垂直居中及容器内图片垂直居中的CSS解决方法
- 使用纯CSS实现未知尺寸的图片(但高宽都小于500px)在500px的正方形容器中水平和垂直居中。你有几种方法?
- CSS图片垂直居中实现方法详解