我想编写一个包含blackletter字体文本的(X)HTML文档。在德语中,当文档的基本字体是blackletter字体时,通常用antiqua字体排版外来单词。因为这是一个可能经常出现的语义标记,所以我不喜欢使用<span class="fw">
或类似的。
是否可以在(X)HTML中定义新标记<fw>
(对于外来单词),以便我可以通过语义进行标记?如果是,现代浏览器是否支持?使用样式表时,有什么特别需要注意的吗?
答案 0 :(得分:3)
出于您的描述目的,使用<i>
标记是有意义的。虽然<i>
过去的意思是“斜体”,但在HTML5中it is specified like:
i元素代表一个交替的声音或心情的文本范围, 或以其他方式抵消正常散文,例如分类 指定,技术术语,来自另一个的惯用语 语言,思想,船名或其他一些典型的散文 印刷表示是斜体。
请注意,当您想通过斜体强调文字时,<em>
标记仍可供您使用,并且仍然更适合该任务。请参阅上面的链接,了解<b>
标记的新用法,这是添加自定义(无效)标记的另一种选择。
更直接地回答您的问题:无法添加标记并保持有效的HTML5。
答案 1 :(得分:1)
简答:不。更长的答案:不是一个好主意。
BTW,<div style="antiqua">
无效,也许你的意思是<div style="font-family: antiqua">
更好的解决方案IMO <span class="fw">
答案 2 :(得分:1)
是的,完全可以在JavaScript的帮助下创建自己的标签。但是,我强烈反对这种做法(除非是以下用途)。
通常,此方法用于强制旧版浏览器支持HTML5。它更像是一种解决方法而不是其他任何东西,应该这样对待。
您可以在HTML文档的开头使用这一小部分JS代码来创建对任何标记(甚至是自定义标记)的支持:document.createElement('tagname');
您也可以像平常一样设置这些自定义标记的样式还要别的吗; CSS或内联。
请注意,您的自定义标记无法验证。仅仅为了设计师的个人品味而使用它是一种丑陋的做法。
与往常一样,我强烈建议您使用已经存在的内容,并使用类命名元素。
答案 3 :(得分:0)
HTML和XHTML规范定义了允许的标记,但没有任何东西真正阻止您使用您喜欢的任何标记。现代浏览器通常将标记识别为定义元素,您可以设置这些元素的样式并使用客户端脚本处理它们。
但是,正如您可以从这里的几个问题的答案中看到的那样(例如搜索“自定义标签”),在大多数情况下有几个原因可以避免这种情况。
“外来词”没有HTML标记,我们可以做出的大多数语义区别都没有HTML标记。我们可以忍受这一点。对于大多数情况来说,没有任何软件真正关心我们可以在HTML中做出的那些区别。
如果你不喜欢span
,你可以使用font
(因为你真正想要的是字体区别),或者为了简洁起见a
。 (没有href
,a
在语义上是空的,或者是免费的,就像span
一样。)
您还可以使用lang
属性,例如<font class="fw" lang="en">dummy</font>
。它可能使标记看起来更具语义性,并且它可能在特殊情况下变得相关(在某些情况下的语音合成,拼写检查等)。
答案 4 :(得分:0)
XHTML是XML,如果您在自己的命名空间中添加自己的标记,它仍然是XML。您可以考虑使用自己的XML词汇表并使用客户端XSLT来呈现它(使用新的Saxon-CE产品,您甚至可以使用XSLT 2.0)。但是,如果这是您要添加的唯一“语义”标记,则可能过度 - 只需按照建议使用<span class="fw">
。