it-swarm.com.ru

Как заставить содержимое ячейки таблицы <td> переноситься?

Вот вся страница * Обертка определяется в файле main.css

/* Wrappable cell
* Add this class to make sure the text in a cell will wrap.
* By default, data_table tds do not wrap.
*/
td.wrappable,
table.data_table td.wrappable {
    white-space: normal;
}                

Вот вся страница:

<%@ include file="../../include/pre-header.html" %>
<form id="commentForm" name="commentForm" action="" method="post">



    <ctl:vertScroll height="300" headerStyleClass="data_table_scroll" bodyStyleClass="data_table_scroll" enabled="${user.scrollTables}">
        <ctl:sortableTblHdrSetup topTotal="false" href="show.whatif_edit_entry?   entryId=${entry.entryId}" />
        <table class="data_table vert_scroll_table">



            </tr>
            <tr>
                <ctl:sortableTblHdr styleClass="center" title="Comments" property="comment" type="top">Comments</ctl:sortableTblHdr>
            </tr>


            <c:forEach var="comments" items="${entry.comments}">


                <tr id="id${comments.id}">
                    <td id="comments-${comments.id}" class="wrappable" style="width:400px;">${comments.comment}</td>
                </tr>



            </c:forEach>
            <c:if test="${lock.locked || form.entryId < 0 }">
                <%-- This is the row for adding a new comment. --%>
                    <tr id="commentRow">
                        <td><input type="text" id="comment" name="comment" size="50" maxlength="250" onkeypress="javascript:return noenter();" />
                            <a href="javascript:addComment();"><img src="../images/icon_add.gif" border="0" alt="Add"/></a>
                        </td>

                    </tr>
            </c:if>

        </table>

    </ctl:vertScroll>
</form>

Это просто растягивается каждый раз, когда я отправляю.
Эта страница тоже внутри div. Нужно ли устанавливать ширину div и таблицы?

133
Doc Holiday

Используйте table-layout:fixed в таблице и Word-wrap:break-Word в тд.

Смотрите этот пример:

<html>
<head>
   <style>
   table {border-collapse:collapse; table-layout:fixed; width:310px;}
   table td {border:solid 1px #fab; width:100px; Word-wrap:break-Word;}
   </style>
</head>

<body>
   <table>
      <tr>
         <td>1</td>
         <td>Lorem Ipsum</td>
         <td>Lorem Ipsum is simply dummy text of the printing and typesetting industry. </td>
      </tr>
      <tr>
         <td>2</td>
         <td>LoremIpsumhasbeentheindustry'sstandarddummytexteversincethe1500s,whenanunknown</td>
         <td>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</td>
      </tr>
      <tr>
         <td>3</td>
         <td></td>
         <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna...</td>
      </tr>
   </table>
</body>
</html>

DEMO:

table {border-collapse:collapse; table-layout:fixed; width:310px;}
       table td {border:solid 1px #fab; width:100px; Word-wrap:break-Word;}
       <table>
          <tr>
             <td>1</td>
             <td>Lorem Ipsum</td>
             <td>Lorem Ipsum is simply dummy text of the printing and typesetting industry. </td>
          </tr>
          <tr>
             <td>2</td>
             <td>LoremIpsumhasbeentheindustry'sstandarddummytexteversincethe1500s,whenanunknown</td>
             <td>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</td>
          </tr>
          <tr>
             <td>3</td>
             <td></td>
             <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna...</td>
          </tr>
       </table>
    

254
jim31415

Это работает для меня.

<style type="text/css">

 td {

    /* css-3 */
    white-space: -o-pre-wrap; 
    Word-wrap: break-Word;
    white-space: pre-wrap; 
    white-space: -moz-pre-wrap; 
    white-space: -pre-wrap; 

}

И атрибут таблицы:

table { 
  table-layout: fixed;
  width: 100%
}

40
Lavekush Agrawal
td {
overflow: hidden;
max-width: 400px;
Word-wrap: break-Word;
}
11
Jafstar

Если вы используете адаптивную таблицу Bootstrap, просто установите максимальную ширину для одного конкретного столбца и сделайте перенос текста, сделав стиль этого столбца следующим образом.

max-width:someValue;
Word-wrap:break-Word
4
Feng Han

Это еще один способ решения проблемы, если у вас длинные строки (например, пути к файлам) и вы хотите разбивать строки только на определенные символы (например, косые черты). Вы можете вставить Unicode Zero Width Space символы непосредственно перед (или после) косыми чертами в HTML.

0
Mark Lakata

Если вы хотите исправить столбец, вы должны установить ширину. Например:

<td style="width:100px;">some data</td>

0
Evgeniy

Просто добавьте: Word-break: break-Word; к вашему классу таблицы.

0
Sajjad Aljileezi

Это сработало для меня, когда мне нужно было отобразить «симпатичный» JSON в ячейке:

td { white-space:pre }

Подробнее о свойстве white-space :

  • normal: Это значение предписывает пользовательским агентам сворачивать последовательности пробелов и разбивать строки по мере необходимости, чтобы заполнить строки. 

  • pre: Это значение предотвращает свертывание пользовательских агентов последовательностями пробелов.
    Строки прерываются только при сохраненных символах новой строки. 

  • nowrap: Это значение сворачивает пробел, как для normal, но подавляет разрывы строк в тексте. 

  • pre-wrap: это значение предотвращает свертывание пользовательских агентов последовательностями пробелов.
    Строки разбиваются при сохраненных символах новой строки и по мере необходимости заполняют поля строк. 

  • pre-line: это значение указывает агентам пользователя свернуть последовательности пробелов.
    Строки разбиваются при сохраненных символах новой строки и по мере необходимости заполняют поля строк. 

(Также, смотрите больше в source .)

0
ashleedawg
.wrappable { 
      overflow: hidden; 
      max-width: 400px; 
      Word-wrap: break-Word; 
}

Я проверил с двоичными данными, и он отлично работает здесь.

0
jaip