是否可以在(XHTML(5)?中创建自定义标签?

时间:2012-06-27 17:05:14

标签: html xml html5 xhtml

我想编写一个包含blackletter字体文本的(X)HTML文档。在德语中,当文档的基本字体是blackletter字体时,通常用antiqua字体排版外来单词。因为这是一个可能经常出现的语义标记,所以我不喜欢使用<span class="fw">或类似的。

是否可以在(X)HTML中定义新标记<fw>(对于外来单词),以便我可以通过语义进行标记?如果是,现代浏览器是否支持?使用样式表时,有什么特别需要注意的吗?

5 个答案:

答案 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。 (没有hrefa在语义上是空的,或者是免费的,就像span一样。)

您还可以使用lang属性,例如<font class="fw" lang="en">dummy</font>。它可能使标记看起来更具语义性,并且它可能在特殊情况下变得相关(在某些情况下的语音合成,拼写检查等)。

答案 4 :(得分:0)

XHTML是XML,如果您在自己的命名空间中添加自己的标记,它仍然是XML。您可以考虑使用自己的XML词汇表并使用客户端XSLT来呈现它(使用新的Saxon-CE产品,您甚至可以使用XSLT 2.0)。但是,如果这是您要添加的唯一“语义”标记,则可能过度 - 只需按照建议使用<span class="fw">

相关问题