上一篇
在HTML中设置字体竖直显示,主要通过CSS的
writing-mode属性实现,例如使用
writing-mode: vertical-rl;可将文本设置为从右向左的垂直排列,或
vertical-lr从左向右排列,同时可配合
text-orientation: upright;保持字符直立,适用于东亚文字排版或特殊设计需求。
在HTML中设置字体竖直显示主要通过CSS实现,以下是几种常用方法及详细步骤:
使用 writing-mode 属性(推荐)
这是最符合排版规范的竖直文本解决方案,适用于中文竖排、古籍排版等场景。

<style>
.vertical-text {
writing-mode: vertical-rl; /* 从右向左竖排(传统中文) */
/* writing-mode: vertical-lr; 从左向右竖排 */
height: 200px; /* 必须设置容器高度 */
text-align: center; /* 可选:文本居中 */
letter-spacing: 5px; /* 可选:字符间距 */
}
</style>
<div class="vertical-text">
白日依山尽,黄河入海流,欲穷千里目,更上一层楼。
</div>
效果说明:
vertical-rl:文本从右向左排列(符合传统中文阅读习惯)vertical-lr:文本从左向右排列- 需设置固定高度(或宽度)控制显示区域
使用 text-orientation 调整字符方向
配合 writing-mode 控制字符旋转方向:

<style>
.mixed-orientation {
writing-mode: vertical-rl;
text-orientation: mixed; /* 默认:汉字直立,字母旋转 */
text-orientation: upright; /* 所有字符直立 */
text-orientation: sideways; /* 所有字符旋转90° */
}
</style>
使用 transform: rotate() 旋转文本标签等短文本的竖直显示:
<style>
.rotated-text {
display: inline-block; /* 必须设置为行内块 */
transform: rotate(90deg); /* 顺时针旋转90度 */
transform-origin: left top; /* 旋转基点:左上角 */
margin-left: 50px; /* 调整旋转后位置 */
white-space: nowrap; /* 禁止文字换行 */
}
</style>
<div>
<span class="rotated-text">竖直标题</span>内容...
</div>
Flexbox 实现单字竖排
适合每个字符单独成行的场景:

<style>
.character-vertical {
display: flex;
flex-direction: column;
justify-content: center;
line-height: 1.2;
}
</style>
<div class="character-vertical">
<span>竖</span>
<span>直</span>
<span>排</span>
<span>版</span>
</div>
兼容性处理方案
/* 兼容旧版浏览器 */
.vertical-fallback {
-webkit-writing-mode: vertical-rl; /* Safari */
-ms-writing-mode: tb-rl; /* IE兼容模式 */
}
最佳实践建议
- 中文场景:优先使用
writing-mode: vertical-rl + text-orientation: upright - 西文/数字:用
text-orientation: sideways保持可读性 - 布局注意:
- 竖排文本需设置固定高度
- 避免与横排文本混用导致布局错乱
- 移动端适配:测试竖屏下的显示效果
引用说明:本文技术方案参考MDN Web Docs的CSS标准文档,经主流浏览器(Chrome/Firefox/Safari/Edge)验证,IE需部分兼容代码,实际开发请使用CanIUse.com检查特性支持度。
