码迷,mamicode.com
首页 > Web开发 > 详细

CSS制作图片水平垂直居中 亲测推荐

时间:2016-09-18 21:10:31      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

空白标签实现图片的垂直居中

这种方法很有意思,也很有独特之处,我的思路也是来自于张鑫旭-鑫空间-鑫生活写的《大小不固定的图片、多行文字的水平垂直居中》一文中的使用空白图片实现垂直对齐。他主要使用了一张宽度为1px高度为100%的透明图片,并设置图片“vertical-align:middle”。后来我想了想,此处能不能不使用图片,直接像上面的实例一样,用一个空格的span标签,只是将其“display:inline”设置为“display:inline-block”。因为这两者的核心原理都是一致的:我将span行内元素设置为行内块元素,也就是将其display设置为“inline-block”,将其宽度定位1px,height为容器的100%,这样高度可以和容器的高度达到一样,然后通过“vertical-align:middle”设置垂直对齐,从而实现所需要的效果。因为张鑫旭-鑫空间-鑫生活写的《大小不固定的图片、多行文字的水平垂直居中》一文中的使用空白图片实现垂直对齐成功实现效果,于是我也按自己的思路动手一试,效果和他的一模一样,而且兼容各浏览器,代码较第一种方法又简单很多,最主要的不要单独给IE写效果,而且易懂,下面一起看看这种方法吧。

HTML Markup

            <ul class="imgWrap clearfix">
                <li><a href="#" class="imgBox"><span></span><img src="images/img1.jpg"  /></a></li>
                <li><a href="#" class="imgBox"><span></span><img src="images/img2.jpg"  /></a></li>
                <li><a href="#" class="imgBox"><span></span><img src="images/img3.jpg"  /></a></li>
                <li><a href="#" class="imgBox"><span></span><img src="images/img4.jpg"  /></a></li>
            </ul>

 

CSS Code

            <style type="text/css">
                .imgWrap li{ 
                    width: 219px;
                    height: 219px;
                    float: left;
                    border: solid 1px #666;
                    margin: 10px 10px 0 0;
                    list-style: none;
                    text-align: center;
                    font-size: 0;
                }

                .imgWrap a {
                    display: block;
                    height: 100%;
                    background: #ffa url(images/gridBg.gif) repeat center;
                }
                .imgWrap a:hover {
                    background-color: green;
                }
                .imgWrap span {
                    display: inline-block;/*将行内元素改变为行内块元素显示*/
                    width: 1px;/*实现IE下可读效果*/
                    height: 100%;/*使用元素高度和图片容器高度一样*/
                    vertical-align: middle;/*垂直对齐*/
                }

                .imgWrap img {
                    vertical-align: middle;
                }
            </style>

 

效果

技术分享

原文链接:http://www.w3cplus.com/css%2520/img-vertically-center-content-with-css

CSS制作图片水平垂直居中 亲测推荐

标签:

原文地址:http://www.cnblogs.com/drawill/p/5882959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!