Я хочу, чтобы ширина столбцов таблицы соответствовала ширине таблицы, сохраняя при этом минимальную ширину.
Для этого я применил элемент min-width: max(500px, 33.3%)
к элементу th
, но весь столбец, похоже, не имеет ширины ни 500 пикселей, ни 33,3%.
Где я делаю неправильно?
<table>
<thead>
<tr>
<th>name</th>
<th>age</th>
<th>address</th>
</tr>
</thead>
<tbody>
<tr>
<td>foo</td>
<td>20</td>
<td>bar</td>
</tr>
<tr>
<td>bar</td>
<td>28</td>
<td>foobar</td>
</tr>
</tbody>
</table>
table {
table-layout: fixed;
min-width: 100%;
overflow-x: scroll;
}
th {
min-width: max(500px, 33.3%);
background-color: blue;
}
Я думаю, что самый простой способ - разделить два значения с помощью
min-width: max(500px); width: 33.3%;
Просто просто сделайте ширину на 33,3%. Он будет масштабироваться вместе с окном браузера.
th {width: 33.3%;}
table {
table-layout: fixed;
min-width: 100%;
overflow-x: scroll;
}
th {
text-align: center;
background-color: blue;
max-width: 33.3%;
}
@media screen and (max-width: 500px) {
th {
max-width: 500px;
}
}
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<table>
<thead>
<tr>
<th> name </th>
<th> age </th>
<th>address</th>
</tr>
</thead>
<tbody>
<tr>
<td>foo</td>
<td>20</td>
<td>bar</td>
</tr>
<tr>
<td>bar</td>
<td>28</td>
<td>foobar</td>
</tr>
</tbody>
</table>
</body>
</html>
попробуй это!
max(500px) здесь ничего не делает, так как max берет максимум из списка аргументов. Максимум из списка с одним элементом 500 пикселей, очевидно, составляет 500 пикселей.