#html #css #flexbox #css-selectors
Вопрос:
У меня есть одна таблица и несколько строк таблицы. Я хочу исправить высоту для td, поэтому я создал один div, установив высоту 60 пикселей и переполнение до скрытого, что дает мне соответствующий вывод. Но если содержание меньше в td, оно должно быть выровнено по вертикали до середины.
table, th, td {
border:1px solid black;
}
.fixed-height{
height:60px;
overflow: hidden;
}
<table style="width:50%">
<tr>
<td><div class="fixed-height" ><span>TEST TEST TEST TEST TEST TEST TEST TEST TEST
TEST TEST TEST TEST TEST TEST TEST EST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TE
</span>
</div></td>
<td>Tobias</td>
<td>Linus</td>
</tr>
<tr>
<td><div class="fixed-height" >this should be center</div></td>
<td>Tobias</td>
<td>Linus</td>
</tr>
<tr>
<td><div class="fixed-height" >this should be centerl</div></td>
<td>14</td>
<td>10</td>
</tr>
</table>
Ответ №1:
Добавьте следующий код в свой css.
.fixed-height {
display: inline-grid;
align-items: center;
height: 60px;
overflow: hidden;
}
Комментарии:
1. Это прекрасно работает, когда при наличии двух или нескольких пролетов в div он занимает больше места. скриншот
2. или же вы можете указать другой класс для вертикального выравнивания.
You can use display: flex, align-items: center
. Надеюсь, это поможет 🙂3. Ранее я пробовал использовать сам flex, но по какой-то причине текст сокращает ss
4. Да, вот почему я упомянул, что вам нужно указать новый класс. Если это будет статическая страница, это решит проблему. Если он динамичен, этот подход не будет лучшим..
5. Это было бы динамично, я бы искал другое утешение