html - 如何在 HTML 中表达语义正确的分页符?

标签 html xhtml

我正在编辑 HTML 格式的书籍/文章。这些文本打印一次,我扫描它们,将它们转换为中间 XML 格式,然后将它们转换为 HTML(通过 XSLT)。因为其中一些文本如今已从市场上绝迹,只能通过主要图书馆获得,所以我想以某种方式发布它们,以便人们可以通过引用原始文档中的页码来引用它们。为此,我的中间 XML 格式有一个标记分页符的元素。现在我正在研究 XML->HTML 转换,我想知道如何在 HTML 中转换这些分页符。默认情况下,它们不应出现在最终的 HTML 中(因此简单的 | 不适合),但我计划用一些轻量级的 JavaScript 包装这些文档,以便在需要时显示标记。我想到了 <span>带 |默认情况下隐藏在其中。

是否有更好的、可能是“语义”的方法来解决这个问题?

最佳答案

分页符在很大程度上与布局有关,而 HTML 并非旨在描述布局,因此您不会在该语言中找到任何与此相关的语义。

你所能期望的最好的结果就是某种拼凑。

由于分页符可能出现在段落中间,并且<p>元素只能包含内联元素,您可以从一开始就消除大部分选项。

向我暗示的两种可能性是 <span><a> .前者没有语义,后者旨在链接到(使用名称属性)或从(使用 href 属性)链接,您可以将原始文档中的页面视为您可能希望链接到的内容。

无论你使用什么元素,我都不会在其中包含一个标记,然后用 CSS 隐藏它。我会考虑通过 :before 添加这种表示性标志。在样式表中(结合体类的后代选择器,可以用 JS 切换,因为你想要切换)

或者,如果您想(非常)广泛地了解“HTML”的含义,您可以考虑 l element (来自已失效的 XHTML 2 草案)并标记原始文档的每一行。添加一个类将指示新页面的开始位置(并且您可以使用 CSS 计数器和边框来清楚地指示每个页面和您希望的编号)。遗憾的是,浏览器供应商拒绝支持真正的语义标记语言,而是偏爱 HTML 5。

关于html - 如何在 HTML 中表达语义正确的分页符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3392313/

相关文章:

html - 在透明标题下隐藏滚动内容

javascript - 无法将我的菜单选项项居中

javascript - 使用 HTML Canvas 创建反射图像?

css - 无法将外部 css 链接到 XHTML 静态文档

javascript - 格式良好的源代码

html - 在文章中嵌套部分是一个 SEO 智慧的好主意吗?

html - 为按钮设置 tabindex 不工作

html - 如何为 div 添加外圆 Angular ?

html - 不使用 <div> 只使用语义标签来制作网站真的是最好的吗?

css - 2 列 100% 布局 - 1 个固定列和 1 个动态列