设置最大长度为

问题描述:
我有一列有些用户没有输入空格(即:.......................... ...............),它正在拉伸我的TD列。设置最大长度为<TD>
有没有一种方法可以通过一个简单的选项在html中强制换行符?如果不是这样,我认为我必须自己打破阵容,这不会是最佳选择,因为我不得不确定最好的地方来打破界限,我不想这样做。
我期待的东西,将在3个主要的浏览器上运行(IE/Firefox/Safari)
这里是我的代码:
<td valign="top">
<br>
<strong><?php echo $common->stripHtml($row['one_liner']); ?></strong>
<br>
<hr>
<?php
if (strlen($row['self_description']) > 240)
{
echo substr($common->stripHtml($row['self_description']), 0, 240)."... <a href='viewprofile.php?i=".$row['user_id']."'>more</a>";
}
else
{
echo $common->stripHtml($row['self_description']);
}
?>
</td>
答
固定宽度的细胞与隐藏溢出内容应该做的伎俩
的CSS合并:
table {
table-layout:fixed;
}
table td {
overflow:hidden;
}
瞄准了这一HTML:
<!-- This width specification ought to be in the top-most <td> or <th> -->
<td width="100" >...</td>
答
使用固定宽度的单元?
<td valign="top" width="100px">
+1
width属性不应该有一个单位,除非它是一个百分比(它不是CSS),不建议使用,并且不会阻止单元格的内容调整其大小。 –
Quentin
2009-06-11 15:26:37
答
当你手工能使用PHP添加换行符,您还可以使用“overflow”CSS属性预测细胞如何显示其数据。
如果您设置的溢出为“自动”,滚动条应该在小区内出现,如果你设置的溢出为“隐藏”,其内容将被隐藏超过您设置的宽度。
答
“我必须确定最好的地方断行,我不想这样做。”
你一针见血的头部有,HTML同样无法确定断行的最佳场所。也许正如你知道可能的值,你可以确定一套允许休息的规则。
我会选择一个固定宽度的字体来显示文本,然后固定数目的字符的后插入拆分。
答
您可以使用表格单元格的CSS溢出属性,但这不会强制换行。
你可以插入一些
­
实体,但浏览器的支持是不完整。
最好的解决方案将是一个正则表达式通过插入空间分手的20个字符的任何连续序列。它看起来不会很漂亮,但它比抛出一切都好。
答
没有css属性可以分隔没有空白的行。
通过结合“宽度:XXX”,一个“溢出:隐藏”和“表显示:固定的”,可以隐藏在你的细胞中不需要的内容。
答
另一个“修复”可能是使用JavaScript。当引发特定的输入元素的.blur()事件时,在每个第x个字符或每个第x个字符之后插入中断。尽管如此,我个人不会称之为“伟大”的解决方案。
然后,我假设您有能力监视通过您的网站发送的提交内容。如果是这种情况,那么你可以通过PHP/C#操作数据 - 这将是理想的方法。
我有一列有些用户没有输入空格(即:.......................... ...............),它正在拉伸我的TD列。设置最大长度为<TD>
有没有一种方法可以通过一个简单的选项在html中强制换行符?如果不是这样,我认为我必须自己打破阵容,这不会是最佳选择,因为我不得不确定最好的地方来打破界限,我不想这样做。
我期待的东西,将在3个主要的浏览器上运行(IE/Firefox/Safari)
这里是我的代码:
<td valign="top">
<br>
<strong><?php echo $common->stripHtml($row['one_liner']); ?></strong>
<br>
<hr>
<?php
if (strlen($row['self_description']) > 240)
{
echo substr($common->stripHtml($row['self_description']), 0, 240)."... <a href='viewprofile.php?i=".$row['user_id']."'>more</a>";
}
else
{
echo $common->stripHtml($row['self_description']);
}
?>
</td>
固定宽度的细胞与隐藏溢出内容应该做的伎俩
的CSS合并:
table {
table-layout:fixed;
}
table td {
overflow:hidden;
}
瞄准了这一HTML:
<!-- This width specification ought to be in the top-most <td> or <th> -->
<td width="100" >...</td>
使用固定宽度的单元?
<td valign="top" width="100px">
width属性不应该有一个单位,除非它是一个百分比(它不是CSS),不建议使用,并且不会阻止单元格的内容调整其大小。 – Quentin 2009-06-11 15:26:37
当你手工能使用PHP添加换行符,您还可以使用“overflow”CSS属性预测细胞如何显示其数据。
如果您设置的溢出为“自动”,滚动条应该在小区内出现,如果你设置的溢出为“隐藏”,其内容将被隐藏超过您设置的宽度。
“我必须确定最好的地方断行,我不想这样做。”
你一针见血的头部有,HTML同样无法确定断行的最佳场所。也许正如你知道可能的值,你可以确定一套允许休息的规则。
我会选择一个固定宽度的字体来显示文本,然后固定数目的字符的后插入拆分。
您可以使用表格单元格的CSS溢出属性,但这不会强制换行。
你可以插入一些
­
实体,但浏览器的支持是不完整。
最好的解决方案将是一个正则表达式通过插入空间分手的20个字符的任何连续序列。它看起来不会很漂亮,但它比抛出一切都好。
没有css属性可以分隔没有空白的行。
通过结合“宽度:XXX”,一个“溢出:隐藏”和“表显示:固定的”,可以隐藏在你的细胞中不需要的内容。
另一个“修复”可能是使用JavaScript。当引发特定的输入元素的.blur()事件时,在每个第x个字符或每个第x个字符之后插入中断。尽管如此,我个人不会称之为“伟大”的解决方案。
然后,我假设您有能力监视通过您的网站发送的提交内容。如果是这种情况,那么你可以通过PHP/C#操作数据 - 这将是理想的方法。
这将工作,但如果你真的想看到额外的文字呢?如果我有abcdefghijklmnopqrstuvwxyz并省略了最后五个字符,我不能将它标为完整的字母表。 – 2009-06-11 15:03:04
@Dave确实更像是一个设计决策。如果您标注“全字母”,请留出26个字母的空间。 但是,您始终可以在TD上设置标题属性。 – Triptych 2009-06-11 15:05:42