Высота ячейки ячейки фиксированная, независимо от содержимого ячейки
У меня есть динамическая таблица, которую я генерирую после получения некоторых данных от пользователя, чтобы представить некоторые табличные данные. Мне нужно знать, есть ли у вас возможность назначить фиксированную высоту для ячеек, даже если некоторые из них имеют некоторый контент/текст. Я хотел бы, чтобы все ячейки имели высоту 30 пикселей, независимо от того, имеют ли они контент или пустые.
Это CSS, который у меня есть:
table {
width: 90%;
height:100%;
}
table th, table td {
border: 1px solid gray;
height:30px !important;
padding: 9px !important;
width: 16%;
}
Таблица генерируется этим кодом:
foreach ( $this->rows as $i => $row ) {
$tbody_tr = NHtml::el ('tr class="data-row-' . $i . '"');
foreach ( $this->fields as $field ) {
$tbody_tr->add(NHtml::el ('td')->class($field['name'])->setHtml(@$row[$field['name']]));
}
Но когда у меня есть ячейка с текстом, высота ячейки все равно расширяется. Любые идеи?
Ответы
Ответ 1
Ячейки таблиц не переполняются, поэтому вам нужно обернуть содержимое в div для использования переполнения
Вот пример: http://jsfiddle.net/avVQm/
HTML:
<table>
<tr>
<td>
<div>
gf asfdg fsagfag fdsa gfdsg fdsg fds g fdg
</div>
</td>
</tr>
</table>
CSS
table {
width: 30px;
border: 1px solid black;
}
table td > div {
overflow: hidden;
height: 15px;
}
Ваш PHP:
foreach ((array)$this->fields as $field ) {
$wrapperdiv = NHtml::el ('div');
$tbody_tr->add($wrapperdiv);
$wrapperdiv->add(NHtml::el ('td')->class($field['name'])->setHtml(@$row[$field['name']]));
}
Обратите внимание, что я точно не знаю синтаксис используемой структуры, но я бы предположил, что ваш php будет выглядеть примерно так.
Ответ 2
Попробуйте добавить "overflow: hidden" в css для th/td.