美文网首页
水平居中

水平居中

作者: 子却 | 来源:发表于2019-02-14 20:08 被阅读0次

    行内元素

    文字等行内元素直接利用text-align:center即可,图片则需要先包裹在一个块级元素中,随后对块级元素添加text-align:center才可。因为text-align是作用在块级元素中的行内元素上的。

    块级元素

    确定宽度的块级元素

    通过给确定宽度的块级元素设置margin-right: auto和margin-left: auto;来实现其水平居中

    不确定宽度的块级元素

    方法一:
    将需要水平居中的块级元素包裹在<table>标签中的<td>中并设置为行内元素,通过给<table>设置margin-right: auto和margin-left: auto;来实现水平居中。缺点是代码过于冗长。

    <body>
        <style>
            div{display: inline;}
            table{
                margin-right: auto;
                margin-left: auto;
            }
        </style>
        <table>
            <tr>
                <td>
                    <div class="div2">2222222</div>
                </td>
            </tr>
        </table>
    </body>
    
    不确定宽度.png

    方法二:
    将不确定宽度的块级元素设为行内元素,并包裹在一个块级元素中,对该块级元素设置text-align: center;即可。
    缺点是无法为不确定宽度的块级元素设置宽高。

    <body>
        <style>
            .div2{display: inline;}
            .div1{
                text-align: center;
            }
        </style>
        <div class="div1">
            <div class="div2">33333333</div>
        </div>
    </body>
    
    方法二.png

    方法三:
    通过给父元素设置float: left;position: relative;left: 50%;,子元素设置position: relative;left: -50%;来实现水平居中。
    缺点是元素脱离文档流。

    <body>
        <style>
            .div1{
                background-color:peru;
                float: left;
                position: relative;
                left: 50%;
            }
            .div2{
                position: relative;
                left: -50%;
                background-color: aquamarine;
            }
            
        </style>
        <div class="div1">
            <div class="div2">33333333</div>
        </div>
    </body>
    
    方法三.png

    相关文章

      网友评论

          本文标题:水平居中

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