使用CSS的table-cell属性实现左图右文的排版方法详解

对要素进行横向排列的时候,一般都会使用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>   

使用CSS的table-cell属性实现左图右文的排版方法详解