0

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

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

4

5 回答 5

3

<i>出于您所描述的目的,使用标签可能是有意义的。虽然<i>过去的意思是“斜体”,但在 HTML5 中它被指定为

i 元素代表一段文本以另一种声音或语气,或以其他方式偏离正常散文,例如分类名称、技术术语、来自另一种语言的惯用短语、思想、船名或其他一些散文,其典型的印刷表示是斜体。

请注意,当您想通过斜体强调文本时,该<em>标签仍然可供您使用,并且更适合该任务。有关标签的新用途,请参阅上面的链接,这<b>是添加自定义(无效)标签的另一种选择。

更直接地回答您的问题:添加标签并保持有效的 HTML5 是不可能的。

于 2012-06-27T17:17:42.910 回答
1

简短的回答:没有。更长的答案:不是一个好主意。

顺便说一句,<div style="antiqua">行不通,也许你<div style="font-family: antiqua"> 的意思是更好的解决方案 IMO 将是<span class="fw">

于 2012-06-27T17:18:17.867 回答
1

是的,完全可以在 JavaScript 的帮助下创建自己的标签。但是,我强烈建议不要使用这种做法(除非它用于以下用途)。

通常,此方法用于强制旧版浏览器支持 HTML5。它比其他任何东西都更像是一种解决方法,应该这样对待。

您可以通过在 HTML 文档开头使用一小段 JS 代码来创建对任何标签(甚至是自定义标签)的支持:document.createElement('tagname');您还可以像通常对其他任何标签一样设置这些自定义标签的样式;CSS 或内联。

请注意,您的自定义标签不会生效。仅仅为了设计师的个人品味而使用这是一种丑陋的做法。

与往常一样,我强烈建议您使用已经存在的内容,并使用Classes命名元素。

于 2012-06-27T17:31:05.603 回答
1

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

于 2012-06-27T21:37:58.720 回答
0

HTML 和 XHTML 规范定义了允许的标签,但没有什么能真正阻止您使用您喜欢的任何标签。现代浏览器通常将标签识别为定义元素,您可以设置这些元素的样式并使用客户端脚本对其进行处理。

但是,正如您从这里几个问题的答案中看到的(例如搜索“自定义标签”),在大多数情况下有几个原因可以避免这种情况。

“外来词”根本没有 HTML 标记,我们可以做出的大多数语义区分也没有 HTML 标记。我们可以忍受这一点。在大多数情况下,没有软件真正关心我们可以在 HTML 中做出的那些少数区别。

如果你不喜欢span,你可以使用font(因为你真正想要做的是字体区分),或者a为了简洁起见。(没有href,a实际上在语义上是空的,或者是免费的,就像spanis 一样。)

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

于 2012-06-27T19:42:36.020 回答