1
Я хочу, чтобы отобразить следующую таблицу:HTML таблицы: столбцы с минимальной шириной и переключающих слова
+----+------+-------------+---------+
| id | name | description | actions |
+----+------+-------------+---------+
| .. | .. | .. | .. |
Я хочу, чтобы
- первый столбец (идентификатор) имеет мельчайшие ширину возможно (пробел: nowrap)
- другие столбцы (имя, описание) должны сломать слова при необходимости (слово-обертывание: слово-перерыв)
- Последний столбец также имеет ширину возможной мельчайшие (Пробельные: Nowrap)
Что у меня есть:
<table class="table_standard" style="word-wrap:break-word; table-layout: fixed;">
Но с этим кодом все столбцы имеют одинаковую ширину.
Как я могу решить эту проблему?
@thomasfuchs
Вот как это выглядит с 1920х1080 монитор:
Вот как это выглядит с меньшей шириной экрана:
И это, как это выглядит с крайне низким разрешением:
Как вы можете видеть, я хочу, чтобы браузер прерывал слова, если разрешение слишком низкое, но оно просто не отображает полную таблицу.
Это мой текущий код:
<style>
col.id { width: 1%; }
col.name { width: 20%; }
col.description { width: 30%; }
col.users { width: 30%; }
col.games { width: 9%; }
col.functions { width: 9%; }
col.actions { width: 1%; }
table td:nth-child(2) { word-wrap: break-word; }
table td:nth-child(3) { word-wrap: break-word; }
table td:nth-child(4) { word-wrap: break-word; }
</style>
<table class="table_standard" style="word-wrap: break-word">
<colgroup>
<col class="id">
<col class="name">
<col class="description">
<col class="users">
<col class="games">
<col class="functions">
<col class="actions">
</colgroup>
<tr>
<th class="th_titlebar" colspan="7">Alle Gruppen</th>
</tr>
<tr>
<th class="th_subtitle">ID</th>
<th class="th_subtitle">Name</th>
<th class="th_subtitle">Description</th>
<th class="th_subtitle">Members</th>
<th class="th_subtitle">Games</th>
<th class="th_subtitle">Functions</th>
<th class="th_subtitle">Actions</th>
</tr>
//loop with data from the db
</table>
Вам нужна «таблица-макет: исправлена»? Если вы удалите это и укажите столбцы (на '
@thomasfuchs на самом деле, если он должен делать это в столбцах таблицы, а встроенный - необязателен, тогда вам просто нужно сделать это в первой строке (обычно в элементе th) – Daemedeor
Должны ли стили быть встроенными? – Daemedeor
ответ
Посмотрите здесь, он работает как динамический способ -
Если вы не хотите динамический столбец ширину, затем попробуйте каждую фиксированную колонку - следующим образом:
источник
2015-09-01 22:42:56 royki
вам не нужно col такие элементы, вы можете фактически установить ширину на th, и это должно быть хорошо .... – Daemedeor
вы должны на самом деле положить его в тег стиля ... потому что html5 больше не поддерживает ширину ... но затем вы также не должны использовать встроенные стили вообще ..... * shrug * – Daemedeor
Я действительно не хочу устанавливать абсолютную ширину в столбце (например, 80px или 10%), потому что id может идти до 10000, а затем абсолютный ширина больше не подходит. И когда я удаляю 'table-layout: fixed', слова больше не прерываются. Таблица имеет ширину 100% – Bernd
В HTML5, use the
colgroup
element, which containscol
elements that define the desired widths.colgroup
Вставьте элемент непосредственно подtable
элемента.Вы можете просто использовать CSS, чтобы определить ширину столбцов:
И так далее. Это для таблицы с макетом
fixed
. Если вы хотите, чтобы браузер динамически настраивал содержимое таблицы (непонятно, из вашего вопроса, если вы хотите), вы можете просто опустить свойствоtable-layout
(или установить его наauto
), а также использовать группу, как указано выше, для определения ширины. На этот раз, это в основном просто «подсказки» в браузере, как отформатировать это:Опуская столбец описания следует назначить остальную часть ширины, которая доступна в колонке.
Надеюсь, это поможет!
источник
2015-09-01 23:40:46 thomasfuchs
Хорошо, это выглядит красиво, но как я могу включить 'word-wrap: break-word'? – Bernd
Я бы установил его для ваших '
Я отредактировал свое первое сообщение/вопрос и добавил некоторые фотографии моей проблемы. Я также добавил код, который я использую в настоящее время. – Bernd
Смежные вопросы