对要素进行横向排列的时候,一般都会使用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:60pxauto0;padding:20px;background:#f5f5f5;} .content{display:table-cell;*display:inline-block;}
HTML部分:
XML/HTML Code复制内容到剪贴板 <divclass="boxf9fix"> <ahref="#prettyGirl"class="lmr10"><imgborder="0"src="http://image.zhangxinxu.com/image/study/s/s128/mm2.jpg"/></a> <divclass="content"> <p><ahref="#prettyGirl">大美女一枚</a>来自上海</p> <pclass="mt5">签名:想找个保鲜盒把你给我的那些感动都装起来。当你让我伤心的时候就拿出来回味一下。</p> <pclass="mt5">微博:坐在办公室,只听轰隆隆几声巨响,晴天也能打雷吗?原来街对面的芭莎咖啡厅被炸成了两截。这定点爆破也太失败了,也不清下场,把路过的汽车震得灰头土脸,愣在路中央不知如何是好。其次,房子只炸了一半,另一半屹立不倒,是乍药太水还是房子质量太好?</p> </div> </div>