我尝试创建带有顶部和左侧标题的经典HTML表格。现在我想通过-90°旋转左侧标题中的文本。
仅使用CSS支持90°,可以使用writing-mode: vertical-rl;。
并且使用
我发现:How can I control the width of a table header cell that contains rotated text? 但是某种方式需要根据标题长度调整
-
有没有办法使左侧标题中的
仅使用CSS支持90°,可以使用writing-mode: vertical-rl;。
并且使用
transform: turn(-90deg);
,如果没有position: absolute;
,则它将无法随着表格变长而动态适应。我发现:How can I control the width of a table header cell that contains rotated text? 但是某种方式需要根据标题长度调整
left:
。-
有没有办法使左侧标题中的
元素与元素的高度一样宽而宽,并适合其中而不影响此内容?
文本也应该在一行上,而不换行,并具有
文本也应该在一行上,而不换行,并具有
overflow: hidden;
,这意味着最大高度应由表定义,而不是左侧标题内文本的长度定义。
table {
text-align: left;
border-collapse: collapse;
}
td,
th {
border: 1px solid lightgrey;
padding: 0px 3px;
}
td:not(:first-child) {
min-width: 140px;
}
.table_title_top {
text-align: center;
}
.table_title_left {
text-align: center;
width: 35px;
}
.table_title_left div {
display: flex;
position: absolute;
flex-wrap: nowrap;
text-align: center;
transform: rotate(-90deg);
height: 35px;
left: 0px;
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
</head>
<body>
<table>
<tbody>
<tr>
<td></td>
<td colspan="100" class="table_title_top">
<div>Title Top Title Top</div>
</td>
</tr>
<tr class="calc-tr calc-tr-title">
<td rowspan="100" class="table_title_left">
<div>Title Left Title Left</div>
</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
</tbody>
</table>
</body>
</html>