gpt4 book ai didi

html - 如何正确旋转表格单元格内的文本

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:36 27 4
gpt4 key购买 nike

我尝试创建一个经典的 HTML 表格,标题为顶部和左侧。现在我想将左侧标题中的文本旋转-90°

CSS 仅支持 90° writing-mode: vertical-rl; .

还有transform: turn (-90deg);没有 position:absolut;随着表格变长,它不会动态适应。

我发现:How can I control the width of a table header cell that contains rotated text?

但不知为何left:需要根据标题的长度进行调整。

-

有没有办法得到<div>左侧标题中的元素和<td>的高度一样高和一样宽元素不影响这个并且适合它吗?

文本也应该在一行上,不换行并带有 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>

最佳答案

您可以使用 writing-mode: vertical-rl; 结合缩放转换:

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 {
writing-mode: vertical-rl;
white-space:nowrap;
transform:scale(-1);
}
<!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>

关于html - 如何正确旋转表格单元格内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55849791/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com