zoukankan      html  css  js  c++  java
  • 图片垂直居中

    图片在容器中垂直居中,有几种方式:

    1、放在table里 (最简单直接的方法)

    <table style="height:200px;border:1px solid #000;">
    <tr>
    <td>
    <img src="http://pics.taobao.com/bao/album/promotion/taoscars_180x95_071112_sr.jpg" />
    </td>
    </tr>
    </table>

    2、加一个0宽度、100%高度的图片。并且两张图都设为:vertical-align:middle

    <div style="height:200px;border:1px solid #000;">
        <img src="http://pics.taobao.com/bao/album/promotion/taoscars_180x95_071112_sr.jpg" style="vertical-align:middle;"/>
        <img src="" style="height:100%;0px;vertical-align:middle;"/><!-- 这里加一个0宽度、100%高度的图片 -->
    </div>

     下面这个最好!!!

    <style type="text/css">
    #aa{width:800px;height:800px;border:1px solid #000;text-align:center;}
    i{display:inline-block;width:0px;height:100%;vertical-align:middle;}
    img{vertical-align:middle;} 
    </style>
    <div id="aa"><img src="http://img1.3lian.com/img13/c3/87/91.jpg"/><i></i></div>

     改进版(不再需要多余标签):(不兼容ie7)2015-10-15

    <style type="text/css">
    .img-middle{width:100%;height:800px;border:1px solid #000;text-align:center;}
    .img-middle:after {content:'';display:inline-block;width:0px;height:100%;vertical-align:middle;overflow:hidden;}
    .img-middle > img{vertical-align:middle;} 
    </style>
    <div class="img-middle"><img src="http://img1.3lian.com/img13/c3/87/91.jpg"/></div>

    http://www.cnblogs.com/dearxinli/archive/2013/06/26/3156504.html   图片水平垂直居中(兼容IE6,IE7,firefox,opera,safari,其中图片可以是任何块元素)

    暂时存放这里,还需要改。已经做好旋转,还没做好自适应:(图片旋转90度自适应)  2015-10-16

    <script type="text/javascript">
    $(function(){
        $("img").click(function(){
            var _img = $(this);
            if( _img.hasClass("deg90") ){
                _img.removeClass("deg90");
            }else{
                _img.addClass("deg90");
            }
            //$(this).toggleClass("deg90");
            console.log($(this).width());
        });
    });
    </script>
    <style type="text/css">
    html,body{width:100%;height:100%;margin:0;padding:0;}
    .boxs{position:relative;width:500px;height:800px;border:2px solid #000;box-sizing:border-box;}
    .box{width:100%;height:100%;border:1px solid #fff;text-align:center;}
    .box:after {content:'';display:inline-block;width:0px;height:100%;vertical-align:middle;overflow: hidden;}
    .box > img{vertical-align:middle;width:100%;}
    .box .deg90{
        transform:rotate(90deg);        transform-origin:50% 50%;
        -ms-transform:rotate(90deg);    -ms-transform-origin:50% 50%;/* Internet Explorer */
        -moz-transform:rotate(90deg);    -moz-transform-origin:50% 50%;/* Firefox */
        -webkit-transform:rotate(90deg);-webkit-transform-origin:50% 50%;/* Safari 和 Chrome */
        -o-transform:rotate(90deg);        -o-transform-origin:50% 50%;/* Opera */
    }
    </style>
    <div class="box"><img src="http://id.topit.me/d/4e/5e/1194980120f565e4edo.jpg" class="deg0"/></div>

    3、单个图片水平垂直居中 一淘使用方案

    <style type="text/css">
    .box {
            /*非IE的主流浏览器识别的垂直居中的方法*/
            display: table-cell;
            vertical-align:middle;
    
            /*设置水平居中*/
            text-align:center;
    
            /* 针对IE的Hack */
            *display: block;
            *font-size: 175px;/*约为高度的0.873,200*0.873 约为175*/
           /* *font-family:Arial;防止非utf-8引起的hack失效问题,如gbk编码*/
    
            width:200px;
            height:200px;
            border: 1px solid #000;
    }
    .box img {
            /*设置图片垂直居中*/
            vertical-align:middle;
    }
    </style>
    <div class="box">
    <img src="http://pics.taobao.com/bao/album/promotion/taoscars_180x95_071112_sr.jpg" />
    </div>

    4、在图片和容器高度,都是已知的情况下,计算margin-top (不推荐)

    下图是容器高度200px,如片高度95px

    <div style="height:200px;border:1px solid #000;">
        <img src="http://pics.taobao.com/bao/album/promotion/taoscars_180x95_071112_sr.jpg" style="margin-top:52.5px;"/>
    </div>
    <style type="text/css">
    .boxs{position:relative;background:#9cf;width:500px;height:500px;}
    .box {  
        background:#999;
        position: absolute;  
        width: 300px;height: 200px;  
        top: 50%; left: 50%;  
        margin-left: -150px; /* (width + padding)/2 */  
        margin-top: -100px; /* (height + padding)/2 */  
    }
    </style>
    <div class="boxs">
        <div class="box"></div>
    </div>

    5、绝对居中(参考)  2016-6-15

    <style type="text/css">
    .main{position:relative;width:400px;height:400px;background:#aaa;}
    .sub{position:absolute;width:200px;height:200px;background:#000;margin:auto;left:0;right:0;top:0;bottom:0;}
    </style>
    <div class="main">
        <div class="sub">绝对居中</div>
    </div>

    http://www.cnblogs.com/lucky-snow/p/4536171.html   垂直居中的几个测试(还没看)  2015-10-20

    http://www.cnblogs.com/var-foo-bar/p/4980225.html   介绍一种css水平垂直居中的方法(非常好用!——还没试)2015-11-20

    http://www.qianduan.net/css-to-achieve-the-vertical-center-of-the-five-kinds-of-methods.html  CSS实现垂直居中的5种方法

    http://www.webhek.com/vertical-align/  竖向居中

    http://www.w3cfuns.com/notes/22200/8e4f0179eb3525896834d82787413459.html  对垂直居中的探索  2016-4-18

    http://www.cnblogs.com/moustache/archive/2016/05/13/5488207.html  常用CSS居中  2016-5-12

    ...    

  • 相关阅读:
    java中字符串类型的比较
    iOS 检测是否插入耳机
    Model-View-Controller (The iPhone Developer's Cookbook)
    Spring Animation
    CoreImage 自动增强滤镜 以及 系统滤镜查询
    UIView Animation
    CoreImage 查询系统滤镜
    CoreImage 的人脸检测
    Smarty 模板操作
    smarty转载(1)
  • 原文地址:https://www.cnblogs.com/qq21270/p/3992475.html
Copyright © 2011-2022 走看看