2012-02-23 1 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); 
} 

Если вам нужно что-нибудь еще, дайте мне знать ... на самом деле мне все равно об это, если часть работает на данный момент. это та часть, которую видит клиент.

Edit: отредактирован генерируется 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

извините..А тег не должен быть там .. просто отредактировал его .. нет гиперссылок в отчете клиента .. я случайно скопировал его из того, что я вижу .. они не видят ... все то же самое. .except..they can not do hyperlinks –

+0

, вы думаете, что установка tc.Text = "

" + dv[i]["fulldescription"].ToString() + "
"; –

+0

Это может быть, но у меня были гораздо менее последовательные результаты при применении 'word-wrap' на элементах уровня блока. Если он не работает в DIV, вы можете попробовать использовать его в теге '', так как это общий встроенный элемент. – justbeez

0

[свалка общего ответа здесь]

Добавить table-layout: fixed в таблицу, а затем положить <colgroup> перед тем, <tbody> с <col> элементов каждой с 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

только отправил его. –

+1

Вы только что разместили несколько строк. что не помогает диагностировать всю таблицу. Например, прямо сейчас я предполагаю, что вы в избыточность, поскольку каждая ячейка таблицы имеет 'colspan =" 4 "'. –

+0

его не проблема со всей таблицей .. это буквально тот раздел в комментариях. Каждая таблица - это четыре столбца ... только раздел, который я дал вам, имеет колпан из 4 ... если вам нужно больше, это займет меня немного с тех пор, как я собираюсь оставить работу и запустить поручения ... и мне пришлось бы снова редактировать текст позже сегодня вечером .. но если удалить раздел комментария .. таблица отображает отлично .. если я нажимаю пробелы. .it отображается правильно .. но потому, что все данные вводятся другими людьми .. и я не могу проверить каждый из них .. так что смотрю на способ заставить его разорвать его, но я буду работать над большим сгенерированным html tonight –

0

Добавить этот класс в ячейке таблицы (Работа в IE 9)

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