美文网首页
水平居中设置

水平居中设置

作者: 坏小朱啦啦 | 来源:发表于2015-09-06 12:04 被阅读1234次

    如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置text-align:center来实现

    满足定宽和块状两个条件的元素是可以通过设置“左右margin”值为“auto”来实现居中的

    不定宽的块状元素居中有三种方法来实现。

    方法一:

    第一步:为需要设置居中的元素外面加入table标签(包括tbody,tr,td)

    第二步:为table设置“左右margin居中

    html代码

    <div>

    <table>

    <tbody>

    <tr><td>

    <ul>

    <li><a>1</a></li>

    <li><a>2</a></li>

    <li><a>3</a></li>

    </ul>

    </td></tr>

    </tbody>

    </table>

    </div>

    css代码

    <style>

    table{margin:0 auto;}

    ul{list-style:none;margin:0;padding:0;}

    li{float:left;display:inline;margin-right:8px;}

    </style>

    方法二:

    第一步:改变块级元素的display为inline类型,然后使用text-align:center来居中

    html代码

    <body>

    <div class="container">

    <ul>

    <li><a>1</a></li>

    <li><a>2</a></li>

    <li><a>3</a></li>

    </ul>

    </div>

    </body>

    css代码
    <style>

    .container{text-align:center}

    .container ul{list-display:none; margin:0; padding:0; display:inline;}

    .container li{margin-right:8px; display:inline;}

    </style>

    这种方法相比第一种方法的优势是不用增加无语义标签,简化了标签的嵌套深度,但也存在着一些问题:它将块状元素的 display 类型改为 inline,变成了行内元素,所以少了一些功能,比如设定长度值。

    方法三:给父元素设置float,然后给父元素postion:relative和left:50%,自元素设置position:relative和left:-50%来实现水平居中

    html代码

    <body> <div class="container"> <ul> <li><a>1</a></li> <li><a>2</a></li> <li><a>3</a></li> </ul> </div> </body>

    css代码

    <style>

    .container{float:left; position:relative; left:50%;}

    .container ul{list-display:none;margin:0;padding:0;position:relative;left:-50%;}
    </style>

    这种方法可以保留块状元素仍以 display:block 的形式显示,优点不添加无语议表标签,不增加嵌套深度,但它的缺点是设置了 position:relative,带来了一定的副作用。

    相关文章

      网友评论

          本文标题:水平居中设置

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