表格table列宽度怎么设置都没用

表格table列宽度怎么设置都没用,第1张

在对设置表格设置table-layer:fixed样式后,发现表格中有一行合并过,其它没有合并的行的列宽会平均化,对列宽的设置会失效。

请看如下代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>test</title>

</head>

<body style="width:98%height:100%margin-left:0pxmargin-top:0px">

<table style="border:1px solid #0000FFtable-layout:fixedwidth:100%height:90%" border="1">

<tbody>

<tr>

<td colspan="3">dd</td>

</tr>

<tr>

<td style="width:60%">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</td>

<td style="width:20%">ddddd</td>

<td style="width:20%">CCCCCCCC</td>

</tr>

<tr>

<td></td>

<td></td>

<td></td>

</tr>

<tr>

<td></td>

<td></td>

<td></td>

</tr>

</tbody>

</table>

</body>

</html>

如果把表格的合并行去掉,又能正常显示。

原因:

table-layout: fixed 的表格,各列宽度由第一行决定,后面指定的宽度会被忽略。

你第一行合并了,所以各列宽度均分了。

解决方法:

在tbody前加

<col style="width: 60%" />

<col style="width: 20%" />

<col style="width: 20%" />

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>test</title>

</head>

<body style="width:98%height:100%margin-left:0pxmargin-top:0px">

<table style="border:1px solid #0000FFtable-layout:fixedwidth:100%height:90%" border="1">

<col style="width: 60%" />

<col style="width: 20%" />

<col style="width: 20%" />

<tbody>

<tr>

<td colspan="3">dd</td>

</tr>

<tr>

<td style="width:60%">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</td>

<td style="width:20%">ddddd</td>

<td style="width:20%">CCCCCCCC</td>

</tr>

<tr>

<td></td>

<td></td>

<td></td>

</tr>

<tr>

<td></td>

<td></td>

<td></td>

</tr>

</tbody>

</table>

</body>

</html>

1.table 设置 宽度,绝对宽度和相对都可以 

table-layout:fixed  

设置了这个属性,其余所有td都是相同的宽度。 

这样 *** 作之后,table是宽度固定了,但是里面的文章如果很长,文字会覆盖 

解决办法: 

在 td 里面 加上 style="word-wrap:break-word" 自动换行就好了,如果不想换行,可以将超出内容设为隐藏,并且用省略号代替: 

在td上面加

overflow:hidden 

white-space:nowrap


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7720691.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存