实现任意图片垂直居中的三种方法

在网站开发过程中,可能会有希望图片垂直居中的情况,而且,需要垂直居中的图片的高度也不确定,这就会给页面的布局带来一定的挑战。我总结了一下,曾经使用过的几种方法来使图片垂直居中,除了***种方法只限于标准浏览器外,另外两种方法的兼容性还不错。

创新互联是一家专业提供湘潭县企业网站建设,专注与成都做网站、网站建设、H5高端网站建设、小程序制作等业务。10年已为湘潭县众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

方法一:

将外部容器的显示模式设置成display:table,这个设置的意思不用多说了吧… img标签外部再嵌套一个span标签,并设置span的显示模式为display:table-cell,这样span内部的内容就相当于表格,可以很方便的使用vertical-align属性来对齐其中的内容了。

代码如下:

 
 
 
 
  1.  
  2.  
  3.       
  4.     方法1 - 未知高度的图片垂直居中 - www.cleanthem.com  
  5.  
  6. body {  
  7.     height:100%;  
  8. }  
  9. #box{  
  10.     width:500px;height:400px;  
  11.     display:table;  
  12.     text-align:center;  
  13.     border:1px solid #d3d3d3;background:#fff;  
  14. }  
  15. #box span{  
  16.     display:table-cell;  
  17.     vertical-align:middle;  
  18. }  
  19. #box img{  
  20.     border:1px solid #ccc;  
  21. }  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.       
 
  •  
  •  
  • 演示地址

    #p#

    方法二:

    标准浏览器的情况还是和上面一样,不同的是针对IE6/IE7利用在img标签的前面插入一对空标签的办法。

    代码如下:

     
     
     
     
    1.  
    2.  
    3.      
    4.     方法2 - 未知高度的图片垂直居中 - www.cleanthem.com 
    5.  
    6.  
    7. body {  
    8.     height:100%;  
    9. }  
    10. #box{  
    11. width:500px;height:400px;  
    12. display:table-cell;  
    13. text-align:center;  
    14. vertical-align:middle;  
    15. border:1px solid #d3d3d3;background:#fff;  
    16. }  
    17. #box img{  
    18. border:1px solid #ccc;  
    19. }  
    20.  
    21.  
    22.  
    23.  
    24.  
    25.      
     
  •  
  •  
  •  
  • 演示地址

    #p#

    方法三:

    在img标签外包裹一个p标签,标准浏览器利用p标签的伪类属性:before来实现居中,另外,对于IE6/IE7使用了CSS表达式来实现兼容。

    代码如下:

     
     
     
     
    1.  
    2.  
    3.      
    4.     方法3 - 未知高度的图片垂直居中 - www.cleanthem.com 
    5.  
    6.  
    7. body {  
    8.     height:100%;  
    9. }  
    10. #box{  
    11.     width:500px;height:400px;  
    12.     text-align:center;  
    13.     border:1px solid #d3d3d3;background:#fff;  
    14. }  
    15. #box p{  
    16.     width:500px;height:400px;  
    17.     line-height:400px;  /* 行高等于高度 */  
    18. }  
    19.  
    20. /* 兼容标准浏览器 */  
    21. #box p:before{  
    22.     content:".";  /* 具体的值与垂直居中无关,尽可能的节省字符 */  
    23.     margin-left:-5px; font-size:10px;  /* 修复居中的小BUG */  
    24.     visibility:hidden;  /*设置成隐藏元素*/  
    25. }  
    26.  
    27. #box p img{  
    28.     *margin-top:expression((400 - this.height )/2);  /* CSS表达式用来兼容IE6/IE7 */  
    29.     vertical-align:middle;  
    30.     border:1px solid #ccc;  
    31. }  
    32.  
    33.  
    34.  
    35.  
    36.     

       
     
  •  
  •  
  • 演示地址

     

    网站名称:实现任意图片垂直居中的三种方法
    网页地址:http://www.36103.cn/qtweb/news2/3652.html

    网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

    猜你还喜欢下面的内容

    网站营销知识

    各行业网站