Rumah  >  Artikel  >  hujung hadapan web  >  css中table-layout:fixed 属性的用法

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

巴扎黑
巴扎黑asal
2017-06-28 10:25:181760semak imbas

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>

Atas ialah kandungan terperinci css中table-layout:fixed 属性的用法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:CSS haslayout 彻底了解Artikel seterusnya:CSS清浮动处理