CSS中Table-cell属性,轻松让div也能有table那样的属定位

table布局有一个好处便是元素可以轻松的定位,不会出现什么窜行的问题。你要是用div的话,一会inline一会float很是蛮烦。其实CSS中Table-cell属性,也可以轻松让div也能有table那样的属定位?下面举个例子:

复制代码 代码如下:

<!--HTML --!>
<div id="parent">
<div id="c1"></div>
<div id="c2"></div>
</div>

一个父容器,装有两个子容器,在c1宽度不确定的情况下,如何让c2填充满父容器呢?可以这样:

复制代码 代码如下:

<span style="white-space:pre"> </span>#parent{
width: 90%;
margin: 50px auto;
border: #333333 solid 1px;
padding: 10px;
display: table;
}
#c1{
height: 50px;
background: #f30;
width: 35%;
display: table-cell;
}
#c2{
height: 50px;
background: #03f;
display: table-cell;
}

将父容器的display指定为table,这样浏览器便会把parent当作一个table对待,然后向table中添加元素,元素具有的效果就会和直接使用td标签一样。

效果图:
推荐阅读