Я хочу обернуть текст, который добавляется к <td>
элементу. Я пытался с style="word-wrap: break-word;" width="15%"
. Но это не упаковка текста. Обязательно ли указывать 100% ширины? У меня есть другие элементы управления для отображения, поэтому доступна только 15% ширины.
html
css
html-table
word-wrap
Зоол
источник
источник
Ответы:
Завернуть текст TD
Первый набор стиля таблицы
затем установите TD Style
источник
white-space: normal
стиль td, чтобы заставить упаковку работать (вместоword-wrap:break-word
)white-space:normal;
white-space: pre-wrap
если вам нужно сохранить пустое пространство.Таблицы HTML поддерживают стиль css "table-layout: fixed", который не позволяет пользовательскому агенту адаптировать ширину столбцов к своему контенту. Вы могли бы хотеть использовать это.
источник
Я полагаю, вы столкнулись с проблемой 22 таблиц. Таблицы отлично подходят для упаковки контента в табличную структуру, и они прекрасно справляются с «растяжкой» для удовлетворения потребностей контента, который они содержат.
По умолчанию ячейки таблицы растягиваются, чтобы соответствовать содержимому ... таким образом, ваш текст только расширяет его.
Есть несколько решений.
1.) Вы можете попробовать установить максимальную ширину на TD.
2.) Вы можете попробовать поместить свой текст в элемент обтекания (например, в span) и установить для него ограничения.
Имейте в виду, что более старые версии IE не поддерживают min / max-width.
Так как IE изначально не поддерживает max-width, вам нужно добавить хак, если вы хотите форсировать его. Есть несколько способов добавить хак, это только один.
При загрузке страницы, только для IE6, получите визуализированную ширину таблицы (в пикселях), затем получите 15% от этой величины и примените ее в качестве ширины к первому TD в этом столбце (или TH, если у вас есть заголовки) снова в пикселях ,
источник
table-layout:fixed
разрешит проблему с расширяющейся ячейкой, но создаст новую. IE по умолчанию скрывает переполнение, но Mozilla отобразит его за пределами поля.Другое решение было бы использовать:
overflow:hidden;width:?px
источник
Кредиты для http://www.blakems.com/archives/000077.html
источник
Это сработало для меня с некоторыми фреймворками CSS (Lite Design Lite [MDL]).
источник
использовать
word-break
его можно использовать без укладкиtable
вtable-layout: fixed
источник
Это работает очень хорошо:
Вы можете использовать одинаковую ширину для всех своих
<div
или настроить ширину в каждом случае, чтобы разбить текст, где вам нравится.Таким образом, вам не нужно дурачиться с фиксированной шириной стола или сложным CSS.
источник
У меня были некоторые из моих
td
с:Это решило это для меня:
источник
Чтобы сделать ширину ячейки точно такой же, как самое длинное слово текста, просто установите ширину ячейки в
1px
т.е.
Это экспериментально, и я узнал об этом во время проб и ошибок
Живая скрипка: http://jsfiddle.net/harshjv/5e2oLL8L/2/
источник
Возможно, это может сработать, но это может оказаться немного неприятным в какой-то момент в будущем (если не сразу).
Основанием для этого
span
является то, что, как отмечают другие, a<td>
обычно расширяется для размещения контента, тогда как a<span>
может предоставляться - и ожидается, что будет сохранять - установленную ширину;overflow: hidden
предназначен, но не может, скрыть то , что в противном случае вызвать бы<td>
к расширению.Я бы рекомендовал использовать
title
свойство span, чтобы показать текст, который присутствует (или обрезан) в визуальной ячейке, чтобы текст оставался доступным (и если вы не хотите / не хотите, чтобы люди его видели, то зачем его иметь? во-первых, я думаю ...).Кроме того, если вы определите ширину для
td {...}
td будет расширяться (или, возможно, сжиматься, но я сомневаюсь в этом), чтобы заполнить ее подразумеваемую ширину (как мне кажется, это похожеtable-width/number-of-cells
), указанная ширина таблицы, кажется, не создает та же проблема.Недостатком является дополнительная разметка, используемая для презентации.
источник
На самом деле перенос текста происходит автоматически в таблицах. Грубая ошибка, которую люди совершают во время тестирования, заключается в гипотетическом предположении о длинной строке, такой как «ggggggggggggggggggggggggggggggggggggggggggggggg», и о том, что она не переносится. Практически в английском языке нет такого длинного слова, и даже если оно есть, есть небольшая вероятность, что оно будет использовано в этом
<td>
.Попробуйте протестировать предложения типа «Противопоставление суеверно в определенных обстоятельствах».
источник
Примените классы к своим TD, примените соответствующую ширину (не забудьте оставить один из них без ширины, чтобы он принимал остальную часть ширины), затем примените соответствующие стили. Скопируйте приведенный ниже код в редактор и просмотрите его в браузере, чтобы увидеть его функцию.
источник
источник