如何在Asciidoc自定义主题的页眉中添加水平线?
在Asciidoc页眉中添加水平线的方法
你尝试用Asciidoc原生的'''分隔线语法添加到页眉内容里导致渲染失败,是因为主题配置的content字段不支持这种块级语法,可通过以下两种可行方法实现:
方法一:利用主题样式添加底部边框(推荐)
直接给页眉区域添加底部边框模拟水平线,还能自定义线条样式,修改后的主题配置如下:
extends: - default-with-fallback-font footer: recto: right: content: '{chapter-title} | *{page-number}*' verso: left: content: '*{page-number}* | {chapter-title}' header: height: $base_line_height_length * 4 recto: center: content: '{document-title}' styles: border-bottom: 1px solid #000 # 可修改颜色、粗细,比如换成2px dashed #666 verso: center: content: '{document-title}' styles: border-bottom: 1px solid #000
这种方式无需调整页眉高度,线条会紧贴页眉底部,视觉效果规整。
方法二:内嵌HTML的<hr>标签
如果需要更灵活的线条样式(比如左右留白、渐变效果),可以在content里嵌入带样式的HTML水平线标签,同时记得适当调大页眉高度避免内容裁切:
extends: - default-with-fallback-font footer: recto: right: content: '{chapter-title} | *{page-number}*' verso: left: content: '*{page-number}* | {chapter-title}' header: height: $base_line_height_length * 5 # 调大高度容纳水平线 recto: center: content: '{document-title}<hr style="border: none; border-top: 1px solid #000; margin: 8px auto; width: 80%;">' verso: center: content: '{document-title}<hr style="border: none; border-top: 1px solid #000; margin: 8px auto; width: 80%;">'
这里通过width: 80%让线条比页眉窄,margin: 8px auto控制上下间距和水平居中,可根据需求调整样式参数。
内容的提问来源于stack exchange,提问作者kerner1000
相关产品推荐
相关产品推荐

