Appearance
阅读器排版控制
背景
沉浸式阅读中需要调整字体大小和行间距以适应不同阅读场景(白天/夜间、不同屏幕尺寸)。
实现方式
通过 epub.js 的 rendition.getContents() 获取已渲染的 Content 对象,调用 addStylesheetRules() 注入 font-size 和 line-height CSS 规则。
注意:epub.js 的 addStylesheetRules 将对象 key 直接拼成 CSS 属性名,必须使用 kebab-case(如 font-size、line-height),不能用驼峰写法。
控制面板
底部栏新增三个排版按钮,位于翻页按钮和目录选择器之间:
| 按钮 | 功能 | 参数 | 范围 |
|---|---|---|---|
| A⁻ | 缩小字体 | 每次 -10% | 70% ~ 200% |
| A⁺ | 放大字体 | 每次 +10% | 70% ~ 200% |
| ↕ | 切换行间距 | 循环切换预设值 | 1.4, 1.6, 1.8, 2.0, 2.4 |
设置保存在 localStorage(key: reader-font-size、reader-line-height),跨会话持久化。
关联文件
public/books/reader-money-dog.htmlpublic/books/reader-rich-dad.html