[转][css] table-layout:fixed 属性的解说,IE、Firefox效果对比详解

淡风wisdon大大 2011-06-30

table-layout:fixed属性的解说

如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情况下),以达到使过长的文字不撑破表格的目的,一般是使用样式:table-layout:fixed。但是在Firefox下面,会有一些问题,参考Gmail的一些做法,做了几个测试,得出一种解决办法。

例1:(IE浏览器)普通的情况

CODE:

<tableborder=1width=80><tr><td>abcdefghigklmnopqrstuvwxyz1234567890</td></tr></table>

效果:

可以看到width=80并没有起作用,表格被字符撑开了。

例2:(IE浏览器)使用样式table-layout:fixed

CODE:

<style>.tbl{table-layout:fixed}</style><tableclass=tblborder=1width=80><tr><td>abcdefghigklmnopqrstuvwxyz1234567890</td></tr></table>

效果:

width=80起作用了,但是表格换行了。

例3:(IE浏览器)使用样式table-layout:fixed与nowrap

CODE:

<style>.tbl{table-layout:fixed}</style><tableclass=tblborder=1width=80><tr><tdnowrap>abcdefghigklmnopqrstuvwxyz1234567890</td></tr></table>

效果:width=80起作用了,换行也被干掉了。

例4:(IE浏览器)在使用数值固定td大小情况下使用样式table-layout:fixed与nowrap

CODE:

<style>.tbl{table-layout:fixed}</style><tableclass=tblborder=1width=80><tr><tdwidth=20nowrap>abcdefghigklmnopqrstuvwxyz1234567890</td><tdnowrap>abcdefghigklmnopqrstuvwxyz1234567890</td></tr></table>

效果:不幸发生了,第一个td的nowrap不起作用了

例5:(IE浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap

CODE:

<style>.tbl{table-layout:fixed}</style><tableclass=tblborder=1width=80><tr><tdwidth=25%nowrap>abcdefghigklmnopqrstuvwxyz1234567890</td><tdnowrap>abcdefghigklmnopqrstuvwxyz1234567890</td></tr></table>

效果:改成百分比,终于搞定了

例6:(Firefox浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap效果:把例5放到firefox下面,又ft了

例7:(Firefox浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div

CODE:

<style>.tbl{table-layout:fixed}.td{overflow:hidden;}</style><tableclass=tblborder=1width=80><tr><tdwidth=25%class=tdnowrap><div>abcdefghigklmnopqrstuvwxyz1234567890</div></td><tdclass=tdnowrap><div>abcdefghigklmnopqrstuvwxyz1234567890</div></td></tr></table>

效果:天下终于太平了

例8:(Firefox浏览器)在使用数值固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div

CODE:

<style>.tbl{table-layout:fixed}.td{overflow:hidden;}</style>

CODE:

<tableclass=tblborder=1width=80><tr><tdwidth=20class=tdnowrap><div>abcdefghigklmnopqrstuvwxyz1234567890</div></td><tdclass=tdnowrap><div>abcdefghigklmnopqrstuvwxyz1234567890</div></td></tr></table>

效果:nowrap又不起作用了

最终,例7是一个在IE和Firefox都可以完美解决页面强制换行问题的解决方案。

原文:http://www.yici.net/content/text_all/text_0/311_1.html

相关推荐