上一篇
html文本字体竖排
- 行业动态
- 2025-05-01
- 2078
使用CSS设置writing-mode: vertical-rl/vertical-lr,配合text-orientation: upright实现竖排,需注意中英文混排兼容性,建议配合line-height和text-indent调整排版间距,部分浏览器需添加-webkit-前缀
CSS Writing-Mode 属性实现竖排
通过 CSS 的 writing-mode
属性可控制文本排版方向,核心语法为:
.element { writing-mode: vertical-rl; / 从右到左竖排(中文常用) / / 或 vertical-lr(从左到右竖排) / }
基础示例
属性值 | 排版方向 | 适用场景 |
---|---|---|
vertical-rl | 右→左竖排 | 中文古籍、书法展示 |
vertical-lr | 左→右竖排 | 日文竖排、现代设计 |
vertical-ttb | 上→下横排(特殊) | 移动端垂直阅读优化 |
<div class="vertical-text"> 这是一个竖排文本示例 </div>
.vertical-text { writing-mode: vertical-rl; text-align: justify; / 控制文本对齐方式 / width: 100px; / 限定容器宽度 / }
关键样式补充
样式属性 | 作用 | 典型值 |
---|---|---|
text-orientation | 单字符方向修正 | upright/sideway |
line-height | 行间距控制 | 5em/200% |
transform | 旋转微调 | rotate(180deg) |
white-space | 换行控制 | pre-wrap/normal |
.fine-control { writing-mode: vertical-rl; text-orientation: upright; / 保持字符正立 / line-height: 2em; / 增加竖排行间距 / }
浏览器兼容性处理
方案 | 说明 | 代码示例 |
---|---|---|
前缀补全 | 适配旧版浏览器 | -webkit-writing-mode |
渐进增强 | 优雅降级 | 配合媒体查询使用 |
Polyfill 方案 | 处理 IE 低版本支持 | 使用 writing-mode.js |
.cross-browser { writing-mode: vertical-rl; writing-mode: -webkit-vertical-rl; / Safari/Chrome 旧版本 / writing-mode: -moz-vertical-rl; / Firefox 实验支持 / }
常见问题与解答
Q1:竖排文字出现重叠怎么办?
A1:需调整 line-height
并设置 text-orientation: sideway
,同时注意容器宽度是否过窄。
.no-overlap { writing-mode: vertical-rl; line-height: 3em; text-orientation: sideway; / 强制字符横置 / }
Q2:如何实现竖排文本从左到右排列?
A2:将 writing-mode
改为 vertical-lr
,并配合 direction: ltr
:
.left-right-vertical { writing-mode: vertical-lr; direction: ltr; / 确保文本顺序 / }