2012-02-23 82 views
1

我有一個問題...我有一些很長的超鏈接是純文本,我需要包裝...我找了小時,並沒有找到一種成功的方法它在Firefox和Internet Explorer上。它在Firefox上工作正常,沒有問題,但在IE上它延伸了表格。在IE和Firefox中包裝長文本

我真的可以用一些幫助來解決這個問題。

這裏是我的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> 

回答

1

您是否嘗試過在A標記(而不是TD)上設置類,然後只設置word-wrap: break-word;

這適用於我在IE 7-9以及Chrome和FF中的測試文檔。

+0

對不起...... A標籤甚至不應該在那裏..只是重新編輯它..在客戶的報告中沒有超鏈接..我不小心從我看到的那個複製它..他們看不到..所有的東西都是一樣的。 。除了他們不能做超鏈接 – 2012-02-23 22:44:54

+0

你覺得設置tc.Text =「

" + dv[i]["fulldescription"].ToString() + "
」; – 2012-02-23 22:49:09

+0

它可能,但是在塊級元素上應用'word-wrap'時,我得到的結果要少得多。如果它不適用於DIV,則可以嘗試在''標籤上使用它,因爲它是通用內聯元素。 – justbeez 2012-02-23 22:52:40

0

[傾倒在這裏通用的答案]

添加table-layout: fixed你的表,然後把<tbody><col>元素之前<colgroup>每個style="width: whatever;"不管你想在那裏。

<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。

+0

剛剛發佈了它。 – 2012-02-23 22:32:47

+1

你剛剛發佈了一些行。這無助於診斷整個表格。例如,現在我會假設你是冗餘的,因爲每個表格單元格都有'colspan =「4」'。 – 2012-02-23 22:34:35

+0

它不是一個整個表的問題..它是字面意義上的部分在評論..整個表是4列...只有我給你的部分有一個4 ...如果你需要更多,它會帶我有點因爲我即將離開工作和跑腿......我不得不在今晚晚些時候重新編輯更多的文本..但如果刪除評論部分..table顯示完美..如果我強制放置空間。 .it顯示正確..但因爲所有的數據都是由其他人輸入的......我無法檢查每一個.. so ..尋找一種方法來強制打破它,但我會在今晚更大的生成HTML工作 – 2012-02-23 22:42:52

0

這個類添加到您的表格單元格(在IE 9的工作)

.wrapText 
{ 
    white-space:pre-wrap; 
    word-wrap:normal; 
    word-break:break-all; 
}