zoukankan      html  css  js  c++  java
  • 【css】图片垂直水平居中

    一、已知宽高的图片实现垂直水平居中

    1.借助margin-top负边距实现垂直居中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>在已知图片高度的情况下借助margin-top负边距实现垂直居中</title>
            <style type="text/css">
                *{
                    margin:0;
                    padding:0;
                }
                html,body{
                    width:100%;
                    height:100%;
                }
                .wrap{
                    position:relative;
                    width:500px;
                    height:500px;
                    text-align:center;
                    border:1px solid #e64c65;
                }
                img{
                    position:absolute;
                    top:50%;
                    height:88px;
                    left:0;
                    right:0;
                    margin:auto;
                    margin-top:-44px;
                    
                }
            </style>
        </head>
        <body>
            <div class="wrap">
                <img src="girl.jpg"  alt=""/>
            </div>
        </body>
    </html>

     2.借助额外的块级元素实现垂直居中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>在已知图片高度的情况下借助额外的块级元素实现垂直居中</title>
            <style type="text/css">
                *{
                    margin:0;
                    padding:0;
                }
                html,body{
                    width:100%;
                    height:100%;
                }
                .wrap{
                    width:500px;
                    height:500px;
                    text-align:center;
                    border:1px solid #e64c65;
                }
                .temp{
                    height:50%;
                    margin-bottom:-44px;
                }
                img{
                    height:88px;
                }
            </style>
        </head>
        <body>
            <div class="wrap">
                <div class="temp"></div>
                <img src="girl.jpg"  alt=""/>
            </div>
        </body>
    </html>

     二、未知宽高的图片实现垂直水平居中

    1.利用line-height 和 vertical-align:middle实现垂直居中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>利用line-height 和 vertical-align:middle实现垂直居中</title>
            <style type="text/css">
                *{
                    margin:0;
                    padding:0;
                }
                html,body{
                    width:100%;
                    height:100%;
                }
                .wrap{
                    width:500px;
                    height:500px;
                    text-align: center;
                    line-height:500px;
                    border:1px solid #e64c65;
                    margin:100px auto;
    
                }
                img{
                    vertical-align: middle;
                }
            </style>
        </head>
        <body>
            <div class="wrap">
                <img src="girl.jpg"  alt=""/>
            </div>
        </body>
    </html>

     2.借助高度100%的一个标签,原理vertical-align属性的特性实现垂直居中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>借助高度100%的一个标签,原理vertical-align属性的特性实现垂直居中</title>
            <style type="text/css">
                *{
                    margin:0;
                    padding:0;
                }
                html,body{
                    width:100%;
                    height:100%;
                }
                .wrap{
                    width:500px;
                    height:500px;
                    text-align: center;
                    border:1px solid #e64c65;
                }
                img{
                    vertical-align: middle;
                }
                span{
                    display: inline-block;
                    height:100%;
                    vertical-align: middle;
                }
            </style>
        </head>
        <body>
            <div class="wrap">
                <img src="girl.jpg"  alt=""/>
                <span></span>
            </div>
        </body>
    </html>

     3.利用after伪类实现垂直居中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>利用after伪类实现垂直居中</title>
            <style type="text/css">
                *{
                    margin:0;
                    padding:0;
                }
                html,body{
                    width:100%;
                    height:100%;
                }
                .wrap{
                    width:500px;
                    height:500px;
                    text-align:center;
                    border:1px solid #e64c65;
                }
                .wrap::after{
                    display:inline-block;
                    content:'';
                    height:100%;
                    vertical-align: middle;
                }
                img{
                    vertical-align: middle;
                }
            </style>
        </head>
        <body>
            <div class="wrap">
                <img src="girl.jpg"  alt=""/>
            </div>
        </body>
    </html>

    4.利用table-cell实现垂直居中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>利用table-cell实现垂直居中</title>
            <style type="text/css">
                *{
                    margin:0;
                    padding:0;
                }
                html,body{
                    width:100%;
                    height:100%;
                }
                .wrap{
                    display:table-cell;
                    width:500px;
                    height:500px;
                    font-size:0;
                    vertical-align: middle;
                    text-align: center;
                    border:1px solid #e64c65;
                }
            </style>
        </head>
        <body>
            <div class="wrap">
                <img src="girl.jpg"  alt=""/>
            </div>
        </body>
    </html>

    5.利用flex弹性布局实现垂直居中实现垂直居中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>利用flex弹性布局实现垂直居中实现垂直居中</title>
            <style type="text/css">
                *{
                    margin:0;
                    padding:0;
                }
                html,body{
                    width:100%;
                    height:100%;
                }
                .wrap{
                    width:500px;
                    height:500px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    border:1px solid #e64c65;
                }
            </style>
        </head>
        <body>
            <div class="wrap">
                <img src="girl.jpg"  alt=""/>
            </div>
        </body>
    </html>

    6.利用绝对定位实现垂直居中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>未知图片高度的情况下借助绝对定位实现垂直居中</title>
            <style type="text/css">
                *{
                    margin:0;
                    padding:0;
                }
                html,body{
                    width:100%;
                    height:100%;
                }
                .wrap{
                    position:relative;
                    width:500px;
                    height:500px;
                    border:1px solid #e64c65;
                }
                img{
                    position:absolute;
                    top:0;
    ;                bottom:0;
                    left:0;
                    right:0;
                    margin:auto;
                }
            </style>
        </head>
        <body>
            <div class="wrap">
                <img src="girl.jpg"  alt=""/>
            </div>
        </body>
    </html>

    7.利用绝对定位+transform实现垂直居中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>未知图片高度的情况下借助绝对定位+transform实现垂直居中</title>
            <style type="text/css">
                *{
                    margin:0;
                    padding:0;
                }
                html,body{
                    width:100%;
                    height:100%;
                }
                .wrap{
                    position:relative;
                    width:500px;
                    height:500px;
                    border:1px solid #e64c65;
                }
                img{
                    left: 50%;
                    top: 50%;
                    position: absolute;
                    -webkit-transform: translate3D(-50%,-50%,0);
                    -ms-transform: translate3D(-50%,-50%,0);
                    -moz-transform: translate3D(-50%,-50%,0);
                    -o-transform: translate3D(-50%,-50%,0);
                    transform: translate3D(-50%,-50%,0);
                }
            </style>
        </head>
        <body>
            <div class="wrap">
                <img src="girl.jpg"  alt=""/>
            </div>
        </body>
    </html>

     效果:

    作者:smile.轉角

    QQ:493177502

  • 相关阅读:
    【WCF】服务并发中的“可重入模式”
    【.net 深呼吸】项目中是否有必要删去多余的引用
    【.net 深呼吸】细说CodeDom(10):生成异常处理语句
    【.net 深呼吸】细说CodeDom(9):动态编译
    【.net 深呼吸】细说CodeDom(8):分支与循环
    shell脚本将gbk文件转化为utf-8
    PHP判断文件大小是MB、GB、TB...
    svn: E205007: None of the environment variables SVN_EDITOR
    phpstorm yii2框架的redis和mongodb提示
    linux下phpmailer发送邮件出现SMTP ERROR: Failed to connect to server: (0)错误
  • 原文地址:https://www.cnblogs.com/websmile/p/10008140.html
Copyright © 2011-2022 走看看