美文网首页前端Web 前端开发
css-元素垂直居中的6种方法

css-元素垂直居中的6种方法

作者: 影视会员万事通 | 来源:发表于2016-09-26 17:22 被阅读48次

    利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可。本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可。

    1、Line-Height Method
    适用:单行文本垂直居中

    html代码:
    <div id="parent">
        <div id="child">Text here</div>
    </div>
    
    css代码:
    #child {
        line-height: 200px;
    }
    

    垂直居中一张图片

    html代码:
    <div id="parent">
        <img src="image.png" alt="" />
    </div>
    
    css代码:
    #parent {
        line-height: 200px;
    }
    #parent img {
        vertical-align: middle;
    }
    

    2、CSS Table Method
    适用:通用

    html代码:
    <div id="parent">
        <div id="child">Content here</div>
    </div>
    
    css代码:
    #parent {
        display: table;
    }
    #child {
        display: table-cell;
        vertical-align: middle;
    }
    
    低版本 IE fix bug:
    #child {
        display: inline-block;
    }
    

    3、Absolute Positioning and Negative Margin
    适用:块级元素

    html代码:
    <div id="parent">
        <div id="child">Content here</div>
    </div>
    
    css代码:
    #parent {
        position: relative;
    }
    #child {
        position: absolute;
        top: 50%;
        left: 50%;
        height: 30%;
        width: 50%;
        margin: -15% 0 0 -25%;
    

    }

    4、Absolute Positioning and Stretching
    适用:通用,但在IE版本低于7时不能正常工作

    html代码:
    <div id="parent">
        <div id="child">Content here</div>
    </div>
    
    css代码:
    #parent {
        position: relative;
    }
    #child {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 50%;
        height: 30%;
        margin: auto;
    }
    

    5、Equal Top and Bottom Padding
    适用:通用

    html代码:
    <div id="parent">
        <div id="child">Content here</div>
    </div>
    
    css代码:
    #parent {
        padding: 5% 0;
    }
    #child {
        padding: 10% 0;
    }
    

    6、Floater Div
    适用:通用

    html代码:
    <div id="parent">
        <div id="floater">
    </div>
    <div id="child">Content here</div>
    </div>
    
    css代码:
    #parent {
        height: 250px;
    }
    #floater {
        float: left;
        height: 50%;
        width: 100%;
        margin-bottom: -50px;
    }
    #child {
        clear: both;
        height: 100px;
    }
    

    以上就是六种方法,可以在实际的使用过程中合理选择。


    <h3>The End:</h3>

    1. 我的:简书
    2. 我的:GitHub
    3. 我的:博客
    4. 我的:CSDN
    5. Email:1619153872@qq.com
    6. 微信:


      扫一扫上面的二维码,加我微信

    相关文章

      网友评论

        本文标题:css-元素垂直居中的6种方法

        本文链接:https://www.haomeiwen.com/subject/jkmqyttx.html