首页  >  文章  >  web前端  >  css中table-layout:fixed 属性的用法

css中table-layout:fixed 属性的用法

巴扎黑
巴扎黑原创
2017-06-28 10:25:181760浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn