一种颇为取巧,但同时兼容ie和firefox的,防止table被撑大的,并且自适应屏幕宽度的方法

很多时候table里面的内容如果太大不换行的时候,table常常会被撑大.
此时也许希望有个滚动条套在数据table外围  ----此时talbe外面套个固定宽度的div+overflow:auto就行了,

但是,如果同时希望此table可以自动适应屏幕宽度(也就是说,套在外围的div本身是width%的)怎么做呢?

一下是我经过摸索的一个取巧方法,并且兼容ie和ff,参见以下代码。

<div style="overflow:auto;white-space:normal;width:100%;">         ---此行为了构造一个自动滚动条,当table过大,自动出现滚动条。
<table cellpadding="0" cellspacing="0" style="width:100%; table-layout:fixed;">   --此处最关键是"table-layout:fixed",这句话是标准的css,兼容ie/ff,有了这句话,table的宽度会自动限制
<tr>
<td></td><td></td>   ---最取巧的地方在这里:如果没有两个以上td,table-layout:fixed就起不到限制该table包容的内容的作用,目前主要构造一个空行,构造两个td+table-layout:fixed来限制真正需要呈现内容的table的宽度。
</tr>
<tr>
<td colspan="2"> --- 这里是为了填充至前面两个td的宽度。

<table id="MyDataTable">
此处是真正显示数据的table

</table>
</td></tr>
</table>

posted on 2011-01-21 17:21  dhj  阅读(161)  评论(0编辑  收藏  举报

导航