css之居中设置

来源:互联网 发布:淘宝怎么修改配送地址 编辑:程序博客网 时间:2024/05/29 03:19

一、水平居中设置

1、行内元素

如果是行内元素(如:文本、图片时),水平居中是通过给父元素的样式添加text-align:center;

2、块状元素(此时text-align:center不起作用)

a、定宽块状元素

可通过属性margin:10px auto;来使该元素居中显示,该元素必须得有宽度,否则margin不起作用,二者缺一不可。

b、不定宽块状元素

1)、加入table标签:利用table标签的长度自适应性(即不定义其长度也不默认父元素body的长度,其长度是根据其文本内长度决定),所以可以当做一个定宽快元素,然后利用定宽度块状居中的margin的方法,使其水平居中。

table{margin:10px auto;}

<div><table>  <tbody>    <tr><td><ul>    <li>我是第一行文本</li>        <li>我是第二行文本</li>        <li>我是第三行文本</li>    </ul>    </td></tr>  </tbody></table></div>

也可以简单粗暴的将需要居中的块状元素设置display:table,再利用定宽度块状居中的margin的方法,使其水平居中。

ul{display:table; margin:10px auto;}
<div>    <ul>    <li>我是第一行文本</li>        <li>我是第二行文本</li>        <li>我是第三行文本</li>    </ul></div>

2)、设置display:inline方法(将元素设为行内元素显示(也称为内联元素:不自动产生换行的元素,如span)),然后使用text-align:center来实现居中。

.container{text-align:center;}.container ul{list-style:none;margin:0;padding:0;display:inline;}.container li{margin-right:8px;display:inline;}
<div class="container">    <ul>    <li><a href="#">1</a></li>        <li><a href="#">2</a></li>        <li><a href="#">3</a></li>    </ul></div>


3)、通过给父元素设置float,然后给父元素设置position:relative和left:50%,子元素设置position:relative和left:-50%来使元素居中。

<body><div class="container">    <ul>        <li><a href="#">1</a></li>        <li><a href="#">2</a></li>        <li><a href="#">3</a></li>    </ul></div></body>
.container{    float:left;    position:relative;    left:50%}.container ul{    list-style:none;    margin:0;    padding:0;    position:relative;    left:-50%;}.container li{float:left;display:inline;margin-right:8px;}


二、垂直居中

1、父元素高度确定的单行文本

设置父元素的height和line-height高度一致来实现的。

2、父元素高度确定的多行文本

在chrome、firefox及IE8以上的浏览器下可以设置块级元素的display为table-cell(设置为表格单元显示),将vertical-align属性的值设为middle。

0 0
原创粉丝点击