设置<table>的固定长度

设置<table>的固定长度,若<td>中含有<pre>标签且<pre style="word-wrap:break-word; 800px">时

<table width="100%"   style="table-layout:fixed">

引用:-===============

html_table_内容强制换行  

有时候将内容读取至table中时,会发生字符串将表格样式顶开,这样样式也就over了。

那么,我也很苦恼,所以找了一些,我里总结一下前人的劳动果实,希望能帮助更多的人解惑。

**为什么会没有换行,只是一行输出呢?  :因为在输入时没有空格或者回车,在保存时没有将相应的软/t,/n等转化为相应的<br>,table键等硬标签。所以输出时也就只能一行输出了。

method1:在保存内容时转换标签:

Content=Regex.Replace(Content,"\r","<BR>");   //回车
Content=Regex.Replace(Content," ","  ");   //空格
Content=Regex.Replace(Content,"\t","        ");

**主要是将软回车换成<br>

method2:样式设置

例子:

<table width="100%"style="table-layout:fixed">

<tr>

<td style="word-wrap:break-word" width="30%">ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss</td>

<td>bbbbbbbbbbbbbbbbbbbbbbbbbb</td>

</tr>

</table>

以上两种方法本人试过,对ff和msie都有效果。

下面再说下别的有争议的换行方法:

nowrap:可以对msie起换行作用,对ff好像只能截取字符串而已

<table border="1" width="100px">
<tr>

<td width="50px" nowrap>++++aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td>

<td width="50px">this is the no</td>

</tr>
</table>

还有在输入内容时用pre限定格式(没试过,只是理论上觉得有可能行),还有就是在<td></td>中的内容用div包起来(也没有亲自试过)。有兴趣的朋友有时间可以自己试一下。

pre:

div:


这里再有就是一个内容省略的样式:

<table border=1 width=80 style="table-layout:fixed" >
<tr>
    <td style="text-overflow:ellipsis; overflow: hidden;">ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss</td>
</tr>
</table>

输出样式:ssssssssssss...

原文地址:https://www.cnblogs.com/kingangWang/p/2261134.html