table-layout:fixed 属性的用法:
如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情况下),以达到使过长的文字
不撑破表格的目的,一般是使用样式:table-layout:fixed。但是在Firefox下面,会有一些问题,参考Gmail的一些做法,做了几个
测试,得出一种解决办法。
例1:(IE浏览器)普通的情况
CODE:
945fdb9ea2ca0e602d5f1da8b602ea2aa34de1251f0d9fe1e645927f19a896e8b6c5a531a458a2e790c1fd6421739d1cabcdefghigklmnopqrstuvwxyz 1234567890b90dd5946f0946207856a8a37f441edffd273fcf5bcad3dfdad3c41bd81ad3e5f16b1740fad44fb09bfe928bcc527e08
可以看到width=80并没有起作用,表格被字符撑开了。
例2:(IE浏览器)使用样式table-layout:fixed
CODE:
c9ccee2e6ea535a969eb3f532ad9fe89
.tbl {table-layout:fixed;}
531ac245ce3e4fe3d50054a55f265927
29ebbffaed3f76a1490faa3c8e066abca34de1251f0d9fe1e645927f19a896e8b6c5a531a458a2e790c1fd6421739d1cabcdefghigklmnopqrstuvwxyz 1234567890b90dd5946f0946207856a8a37f441edffd273fcf5bcad3dfdad3c41bd81ad3e5f16b1740fad44fb09bfe928bcc527e08
width=80起作用了,但是表格换行了。
例3:(IE浏览器)使用样式table-layout:fixed与nowrap
CODE:
c9ccee2e6ea535a969eb3f532ad9fe89
.tbl {table-layout:fixed;}
531ac245ce3e4fe3d50054a55f265927
29ebbffaed3f76a1490faa3c8e066abca34de1251f0d9fe1e645927f19a896e8904b6b39b75ef1127fe85748522f0103abcdefghigklmnopqrstuvwxyz 1234567890b90dd5946f0946207856a8a37f441edffd273fcf5bcad3dfdad3c41bd81ad3e5f16b1740fad44fb09bfe928bcc527e08
width=80起作用了,换行也被干掉了。
例4:(IE浏览器)在使用数值固定td大小情况下使用样式table-layout:fixed与nowrap
CODE:
c9ccee2e6ea535a969eb3f532ad9fe89
.tbl {table-layout:fixed;}
531ac245ce3e4fe3d50054a55f265927
024a16ce5465f789949321535f15b3b2
a34de1251f0d9fe1e645927f19a896e8
213de98f985ec52237025e592c9e1758abcdefghigklmnopqrstuvwxyz 1234567890b90dd5946f0946207856a8a37f441edf
904b6b39b75ef1127fe85748522f0103abcdefghigklmnopqrstuvwxyz 1234567890b90dd5946f0946207856a8a37f441edf
fd273fcf5bcad3dfdad3c41bd81ad3e5
f16b1740fad44fb09bfe928bcc527e08
不幸发生了,第一个td的nowrap不起作用了
例5:(IE浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap
CODE:
c9ccee2e6ea535a969eb3f532ad9fe89
.tbl {table-layout:fixed;}
531ac245ce3e4fe3d50054a55f265927
29ebbffaed3f76a1490faa3c8e066abc
a34de1251f0d9fe1e645927f19a896e8
7ec90092926db00d47745f083ea4579babcdefghigklmnopqrstuvwxyz 1234567890b90dd5946f0946207856a8a37f441edf
904b6b39b75ef1127fe85748522f0103abcdefghigklmnopqrstuvwxyz 1234567890b90dd5946f0946207856a8a37f441edf
fd273fcf5bcad3dfdad3c41bd81ad3e5
f16b1740fad44fb09bfe928bcc527e08
改成百分比,终于搞定了
例6:(Firefox浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap效果:把例5放到firefox下面,又失效了
例7:(Firefox浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用p
CODE:
c9ccee2e6ea535a969eb3f532ad9fe89
.tbl {table-layout:fixed;}
.td {overflow:hidden;}
531ac245ce3e4fe3d50054a55f265927
29ebbffaed3f76a1490faa3c8e066abc
a34de1251f0d9fe1e645927f19a896e8
d8d6a01353b5fb21506f5fb20f63deb8
e388a4556c0f65e1904146cc1a846beeabcdefghigklmnopqrstuvwxyz 123456789094b3e26ee717c64999d7867364b1b4a3b90dd5946f0946207856a8a37f441edf
b6d1ee9f3790111b68ab4802cc9def00e388a4556c0f65e1904146cc1a846beeabcdefghigklmnopqrstuvwxyz 123456789094b3e26ee717c64999d7867364b1b4a3
b90dd5946f0946207856a8a37f441edf
fd273fcf5bcad3dfdad3c41bd81ad3e5
f16b1740fad44fb09bfe928bcc527e08
天下终于太平了
例8:(Firefox浏览器)在使用数值固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用p
CODE:
c9ccee2e6ea535a969eb3f532ad9fe89
.tbl {table-layout:fixed;}
.td {overflow:hidden;}
531ac245ce3e4fe3d50054a55f265927
CODE:
29ebbffaed3f76a1490faa3c8e066abc
a34de1251f0d9fe1e645927f19a896e8
efb9a93bd4d4d3335fcb7ff1be47fe4be388a4556c0f65e1904146cc1a846beeabcdefghigklmnopqrstuvwxyz 123456789094b3e26ee717c64999d7867364b1b4a3b90dd5946f0946207856a8a37f441edf
b6d1ee9f3790111b68ab4802cc9def00e388a4556c0f65e1904146cc1a846beeabcdefghigklmnopqrstuvwxyz 123456789094b3e26ee717c64999d7867364b1b4a3b90dd5946f0946207856a8a37f441edf
fd273fcf5bcad3dfdad3c41bd81ad3e5
f16b1740fad44fb09bfe928bcc527e08
nowrap又不起作用了
最终,例7是一个在IE和Firefox都可以完美解决页面强制换行问题的解决方案。
我也继续查了一些资料,既然首行的宽度才起作用,那我是否可以定义一下首行呢。
发现了colgroup属性。
<table width="100%" border="0" cell padding ="3" cellspacing="1" bgcolor="#000000" style="table-layout:fixed"> <colgroup> <col style="width:10%;"></col> <col style="width:30%;"></col> <col style="width:40%;"></col> <col style="width:10%;"></col> <col></col> </colgroup> <tr> <td colspan="5"> </td> </tr> <tr> <td nowrap bgcolor="#FFFFFF">文字文字文字文字文字文字</td> <td bgcolor="#FFFFFF"> </td> <td bgcolor="#FFFFFF"> </td> <td bgcolor="#FFFFFF"> </td> <td bgcolor="#FFFFFF"> </td> </tr> <tr> <td bgcolor="#FFFFFF"> </td> <td bgcolor="#FFFFFF"> </td> <td bgcolor="#FFFFFF"> </td> <td bgcolor="#FFFFFF"> </td> <td bgcolor="#FFFFFF"> </td> </tr></table>
以上是css中table-layout:fixed 属性的用法的详细内容。更多信息请关注PHP中文网其他相关文章!