如何在HTML中表达语义错误的分页符?

Str*_*ce 5 html xhtml

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

是否有更好的,可能是"语义"的方法解决这个问题?

Que*_*tin 4

分页符在很大程度上是布局的问题,而 HTML 并不是为了描述布局而设计的,因此您不会在语言中找到任何与此相关的语义。

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

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

我想到的两种可能性是<span><a>。前者没有语义,后者被设计为链接到(使用 name 属性)或链接(使用 href 属性),并且您可以将原始文档中的页面视为您可能希望链接到的内容。

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

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