如何正确放置旋转文本?
我有一个包含 3 列的 flex 包装器,在第三列中有旋转的文本,如何将文本放置在该列的右下角位置?
我想要的是:
我拥有的:
.wrapper {
border: 1px solid black;
padding-top: 50px;
display: flex;
justify-content: space-between;
}
.column-2 {
transform-origin: left bottom;
transform: rotate(-90deg);
}
<div>
<div>Column 1</div>
<div>Column 2</div>
</div>
回答
writing-mode 也可用于旋转文本:
书写模式 CSS 属性设置文本行是水平布局还是垂直布局,以及块前进的方向。为整个文档设置时,应在根元素(HTML 文档的 html 元素)上设置。
可能的例子:
.wrapper {
border: 1px solid black;
display: flex;
justify-content: space-between;
align-items: center;
}
.column-2 {
writing-mode: vertical-lr;
border: solid;
margin: 2em;
}
/* also */
.wrapper.bis {
align-items: end;
}
.bis .column-2 {
margin: 0;
}
<div>
<div>Column 1</div>
<div>Column 2</div>
</div>
<hr>
<div>
<div>Column 1</div>
<div>Column 2</div>
</div>
<div>
<div>Column 1</div>
<div>Column 2</div>
</div>
<hr>
<div>
<div>Column 1</div>
<div>Column 2</div>
</div>
一个较旧的类似答案:如何将变换和旋转的 div 居中? (当要使用前缀时)在没有前缀的情况下应用在这里会做:
.wrapper {
border: 1px solid black;
display: flex;
justify-content: space-between;
align-items: center;
}
.column-2 {
writing-mode: vertical-lr;
transform:scale(-1);
border: solid;
margin: 2em;
}
/* also */
.wrapper.bis {
align-items: end;
}
.bis .column-2 {
margin: 0;
}
如果你想坚持转换,这是我的一个旧答案,它允许根据字符串长度拉伸容器:如何在具有自动高度/没有文本溢出的表标题中显示垂直文本?
text-orientation 也很有用:
text-orientation CSS 属性设置一行中文本字符的方向。它仅影响垂直模式下的文本(当写入模式不是水平 tb 时)。它对于控制使用垂直脚本的语言的显示以及制作垂直表格标题很有用。