对要素进行横向排列的时候,一般都会使用float, display:inline-block等方法。我们使用table-cell也可以简单的实现,
利用table-cell来制作横向排列的好处我觉得有三点(呵呵呵,有些牵强)

1.float以及 clear:both都可以省略了;
2.纵向居中也可以了;
3.就算使用border和padding也不会顶出边框了。
clear:both可以使用display:inline-block替换,display:table-cell最主要的是纵向居中。
还有就是在响应式设计的时候,padding和border不会导致样式顶出边框的问题。再也不需要计算宽度和使用box-sizing了。

table-cell制作的横向排列
首先介绍一下table-cell的基本写法

例,我们制作一个,一般网站中都会出现的左图右文的样式

CSS部分:

CSS Code 复制内容到剪贴板 .box{width:60%; margin:60px auto 0; padding:20pxbackground:#f5f5f5;}    . content { display : table-cell ; * display : inline - block ;}  

               
HTML部分:

XML/HTML Code 复制内容到剪贴板 <div class="box f9 fix">        < a   href = "#prettyGirl"   class = "l mr10" > < img   border = "0"   src = "http://image.zhangxinxu.com/image/study/s/s128/mm2.jpg"   /> </ a >         < div   class = "content" >             < p > < a   href = "#prettyGirl" > 大美女一枚 </ a >  来自上海 </ p >             < p   class = "mt5" > 签名:想找个保鲜盒把你给我的那些感动都装起来。当你让我伤心的时候就拿出来回味一下。 </ p >             < p   class = "mt5" > 微博:坐在办公室,只听轰隆隆几声巨响,晴天也能打雷吗?原来街对面的芭莎咖啡厅被炸成了两截。这定点爆破也太失败了,也不清下场,把路过的汽车震得灰头土脸,愣在路中央不知如何是好。其次,房子只炸了一半,另一半屹立不倒,是乍药太水还是房子质量太好? </ p >         </ div >    </ div >