在IE和Firefox中包装长文本

时间:2012-02-23 21:41:18

标签: css internet-explorer firefox html-table word-wrap

我有一个问题...我有一些很长的超链接是纯文本我需要包装...我已经找了一小时但没有找到一种方法在Firefox和Internet Explorer上成功完成。它在Firefox上工作正常,没有任何问题,但在IE上它可以拉伸表。

我真的可以帮助解决这个问题。

这是我的CSS,虽然它说自动换行无效,但我也试过table-layout:fixed

.wordwrap
{
    display:inline-block;
    word-wrap:break-word;
    overflow:hidden;
}

这是aspx.cs文件中的代码

tr = new TableRow();
tc = new TableCell();
tc.ColumnSpan = 4;
tc.CssClass = "title";
tc.Text = "Comments";
tr.Cells.Add(tc);
table.Rows.Add(tr);

for (int i = 0; i < dv.Count; i++)
{
    tr = new TableRow();
    tc = new TableCell();
    tc.ColumnSpan = 4;
    tc.Wrap = true;

    tc.CssClass = "wordwrap";
    if (Request.QueryString["edit"] == null)
        tc.Text = dv[i]["fulldescription"].ToString();
    else
    {
        tc.Text = "<a href=\"editComment.aspx?id=" + dv[i]["id"].ToString() + "&oid=" + Request.QueryString["id"]
                        + "&aid=" + dr["id"].ToString() + "&edit=1\">" + dv[i]["fulldescription"].ToString() + "</a>";
                }

    tr.Cells.Add(tc);
    table.Rows.Add(tr);
}

如果您还需要其他任何东西,请告诉我......我真正关心的是现在正在运作的部分......这是客户看到的部分。

编辑: 编辑生成的HTML

    <tr>
    <td colspan="4" class="title">Comments</td>
</tr><tr>
    <td colspan="4">These are some words that are displayed for this comment http://www.themostaweseomesthyperlinkeverbecauseitneverends.com/index.htm.</td>
</tr><tr>
    <td colspan="4">These are some words that are displayed for this commnet with more http://www.uab.edu/......./.</td>
</tr><tr>
    <td colspan="4">These are some words that are displayed for this commnet with more and maybe more http://www.themostaweseomesthyperlinkeverbecauseitneverendsdaskldklkdaskdkjldkljalkjsdkljdslkjdskljkljdsakljdskjldsakljlkjdsakljsdakljsdalkjdskljsdalkjlkjdsalkjsdaklsdalksdalksdlkjdslkjsldkjslkjdajalkasdkljlkjdsalkjdsalkjdsalkjadslkjlkjsdalkjdsalkjdsalkjdsalkjlkdsalkjdsalkjdaslkjsadklakdsakldsjdslakdjjldksdjdklslskdjdakldlkdajkdljkdajkdjkdjalkkdjlkajdlkjadjdajdajkdakjdaadljdakjadjdkjkadlkjdaljkdalkjadklkldajlkjdalkjdalkjdalkjdalkjdalkjdkajlkdadaklkdalkjdalkjdlkjdalkjdakldkajldkjalkjdaldkjalkjdalkjdalkjdakljdalkjdalkjljkadlkjdalkjdalkjlkdjalkjdadjalkldjalkjadadkjlkljdadjlkdlakjkljdakaljdlkjdalkjdakjladljkadkaldjlkjdakljadkjldalkkljdadakdakljkladjl.com/index.htm</td>

</tr><tr>                          
    <td colspan="4">Theehese are some words that are displayed for this commnet with more and maybe morhese are some words that are displayed for this commnet with more and maybe morhese are some words that are displayed for this commnet with more and maybe morhese are some words that are displayed for this commnet with more and maybe more and more</a></td>
   </tr>

3 个答案:

答案 0 :(得分:1)

您是否尝试在A标记(而不是TD)上设置类,然后仅设置word-wrap: break-word;

这适用于我在IE 7-9以及Chrome和FF中的测试文档。

答案 1 :(得分:0)

[转储通用答案]

table-layout: fixed添加到您的表格中,然后在<colgroup>之前添加<tbody> <col>元素,每个元素都带有style="width: whatever;",以及您想要的任何内容。< / p>

<table style="table-layout: fixed;">
    <colgroup>
        <col style="width: 50px;" />
        <col style="width: 400px;" />
    </colgroup>
    <tbody>
        <tr>
            <td>Long content here, but it gets limited to 50px wide.</td>
            <td>This cell is 400px wide.</td>
        </tr>
    </tbody>
</table>

除非我看到一些生成的HTML,否则我无法给出更具体的答案。

答案 2 :(得分:0)

将此类添加到表格单元格(在IE 9中工作)

.wrapText
{
    white-space:pre-wrap;
    word-wrap:normal;
    word-break:break-all;
}
相关问题