Когда я увеличиваю высоту таблицы, размер всех строк изменяется, а дополнительная высота распределяется равномерно. среди них.
Вопрос
Можно ли сделать так, чтобы строка (в моем примере та, что с заголовками) всегда оставалась на своей минимальной высоте? В качестве аналогии я вижу указание flex-grow: 0
на элемент Flex.
Без фиксированной высоты
Я не хочу устанавливать для этой строки фиксированную высоту (например, установить на ней height: <fixed value in px>
), просто сделайте ее высоту естественным минимумом для рендеринга всего содержимого.
Код
FIDDLE с примером кода для работы. Снимок экрана ниже.
Я хочу, чтобы первая строка в правой таблице (.Table-Row--NotResizable
) была такой же высоты, как и первая строка в левой таблице.
HTML
<div class="TableDisplay">
<table class="Table Table--Natural">
<tr>
<th>Artist</th>
<th>Song</th>
</tr>
<tr>
<td>Prince</td>
<td>Kiss</td>
</tr>
<tr>
<td>Bob Dylan</td>
<td>Idiot Wind</td>
</tr>
</table>
<table class="Table Table--Full">
<tr class="Table-Row--NotResizable">
<th>Artist</th>
<th>Song</th>
</tr>
<tr>
<td>Prince</td>
<td>Kiss</td>
</tr>
<tr>
<td>Bob Dylan</td>
<td>Idiot Wind</td>
</tr>
</table>
</div>
CSS
html,
body {
height: 100%;
min-height: 100%;
}
.TableDisplay {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
height: 100%;
}
.Table {
height: 100%;
border-collapse: collapse;
}
.Table td,
.Table th {
border: 1px solid black;
}
.Table--Full {
height: 100%;
}
.Table--Natural {
height: auto;
}
/* Make this row do not participate in height changes */
.Table-Row--NotResizable {
/* ??? */
}