为什么<u>邪恶而<strong>和<em>不是?</em> </strong> </u>

时间:2009-02-08 04:46:27

标签: html css

嗯,我知道在<strong><em>的语义上不是很邪恶,不是很好吗?

但是,<b>变为语义<strong><i><em>,为什么<u>没有语义双胞胎{1}}?

造型:

所以有一个CSS样式的文本修饰:<u>的下划线,但是<strong>已经没有一个字体 - 粗体:粗体?因此<em>也是如此。

语义:

<strong>是什么语义?强烈强调文字? <em>是什么语义?强调文字? 任何根本不同的东西互相排斥?没有。 为什么不能有另一种方式来强调文本?你知道,就像<u>所做的那样,并构成一个语义双胞胎 - 我想只有<strong><em>已经在所有主流浏览器中得到很好的实现{{1 }}和<b>变得过时了。

我知道,现在它正式成为标准,你只需要坚持下去。或者请你说:是否有令人信服的理由让<i>不在视线范围内?

11 个答案:

答案 0 :(得分:57)

如果为每个以前存在的样式标记创建了语义双胞胎,那么我们所做的就是同样的旧事物,尽管有新名称。

<strong><em>用于为标记的文字赋予意义。它们的默认样式与<b><i>相对应,因为这是大多数人在印刷中展示力量和重点的方式 - 但这可以改变。而使用CSS来改变<b>似乎反直觉。

因此,对您的问题的直接回答是:<strong><em>含义传递给文本,而<u>和其他人传授样式到文本,现在由CSS完成。其他人使用的造型是偶然的。

答案 1 :(得分:22)

它被误认为是超链接。

答案 2 :(得分:12)

font-weight:bold不等同于strong。默认情况下,strong标记具有该属性,但您可以自由地使其下划线或变为红色或其他任何您喜欢的内容。这就是重点:它没有指定样式。

答案 3 :(得分:6)

  

&LT;强&GT;什么是语义?强烈强调文字? &LT; EM&GT;什么是语义?

'强调'和'强调'没有明确定义,因此语义内容非常低。

您可以提出自己的解释:例如,我个人使用:

  • &LT; EM&GT;用于在大声说出时压力的句子部分

  • &LT;强&GT;用于需要在视觉上挑选出来的文本片段:例如特别重要的句子,以及可视化扫描关键字

这是一致的,并且在某种程度上与典型用法相匹配,但HTML并未强制要求。

  

和&lt; i&gt; as&lt; em&gt;

&LT; EM&GT;即使不考虑样式问题,也不是1:1的斜体。使用斜体还有其他原因,包括:

  • &lt;引用其他作品,根据 HTML 4.01规范

  • 从主要文本中挑选其他语言的短语,即&lt; span lang =“fr”&gt; raison d'être

  

为什么没有&lt; u&gt;

的语义双胞胎

因为每个人都讨厌&lt; u&gt;。

即使在HTML2时代,也很少使用它,因为它太丑了。

答案 4 :(得分:4)

下划线是打字机时代的遗留物。当时没有任何选择既不是斜体也不是粗体,所以强调单词的唯一方法是使用下划线。下划线(从打字机设计师的角度来看)的好处是你可以修改现有的字符,所以你不需要有一整套额外的字符。

它不漂亮,不再需要它,所以请使用斜体或粗体。

问题只是更明显,因为下划线是HTML中链接的标准装饰。

答案 5 :(得分:4)

  

造型:

     

所以有一种CSS风格   text-decoration:<u>的下划线,但是   是不是有一个font-weight:bold   <strong>已经?因此<em>也是如此。

没有。 <strong><em>没有CSS样式。有粗体的CSS标签,但这不是一回事。强大而且em 意味着大胆。他们的意思是强调。强调可以通过下划线,斜体或粗体在文本媒体中完成,并由样式表决定哪个。但语义意义只是“强调这个文本”。你将如何在屏幕阅读器中实现“下划线”?这没有意义。下划线特定于文本媒体,因此属于文本表示的特定样式表,而不属于可用于通过语音或任何其他媒体呈现数据的语义HTML。

  

语义:

     

<strong>是什么语义?   强烈强调文字? <em>是   语义为什么?强调文字?   任何根本不同的东西   彼此互相排斥?没有。   为什么不能有另一种方式   强调文字?你知道,就像这样   <u>确实

因为strong和em没有指定 应该如何强调文本,所以应该强调它。下划线指定应该如何强调,因此它与表示而不是语义有关,并且属于CSS文件。 我同意强者和他们之间的区别是模糊的,但话说再说一遍,我们也有h1-h7。关键在于,即使没有样式表,读者也应该能够推断出“这是比这更大的标题”,所以“这篇文章更多强调了”。 标签的语义含义不必彼此根本不同。拥有语义标签只是意味着“比其他语义标签更多”,这是非常有意义的。因为有时我们在文本中需要多层标题,所以我们有h1-h7。有时我们需要强调的文本,以及非常强调的文本。但即使我们没有,它仍然不会成为将<u>添加为“另一个语义双胞胎”的借口,因为事实并非如此。它不是一个语义双胞胎,它在语义上是 nothing 。下划线并不一定意味着强调。它也可能意味着标题,或者它可能意味着“这是一个链接”,或者它可能意味着你想要它意味着什么。这是一个演示细节。它在非文本媒体中毫无意义。 “重点”不是演示细节。它具有语义含义,无论媒体如何都是有意义的。您也可以在电影中或电子游戏中或在朗读文本中强调信息。

你似乎认为强者和em只是粗体或斜体的简写(或简称)。这不是真的。它们可用于显示粗体文本,带下划线的文本或斜体文本或更大的文本。或者可以完全忽略它们。或者他们可能只是改变屏幕阅读器中的发音。如果您曾在LaTeX中编写过文档,则会注意到\emph命令通常以斜体显示,而不是粗体。当然,这不是必需的,但这是对语义“强调”命令的完美合法解释。同样,还有许多其他标签可能最终呈现为斜体(带有某些CSS类甚至标题的引号或span标签。) 另一方面,<u>在呈现中具有非常特定的含义,但没有语义价值。它向读者传达了什么信息? <strong>的含义是“这篇文章是高调的,应该引起注意”,因为它得到了强烈的强调。文字加下划线是什么意思?它可能意味着什么,或者它可能意味着十几种不同的东西。 “斜体”,“粗体”或“下划线”是没有语义含义的表现属性。它们可以应用于您喜欢的任何语义HTML标记。像strong或em这样的语义标签可以使用您喜欢的任何表示性CSS规则。你似乎并不相信1:1的映射。它们是不同的概念。默认情况下,浏览器选择将强文本呈现为粗体这一事实完全无关紧要。这只是一个默认行为,因为他们必须选择某些东西,并且可以在CSS中覆盖它。

这不是“可以在CSS中完成”或“这是语义孪生”的问题,而只是“它是否具有语义含义?它是否具有表现意义”?如果两者都是,则应完全更改和/或删除。如果是前者,则它属于HTML,如果是,则属于CSS。

答案 6 :(得分:1)

下划线很丑陋,无论是书本还是网络。因此,它只应用于手写文本的重点,没有其他选择。

答案 7 :(得分:1)

&lt; u&gt;的语义双胞胎。是&lt; a&gt;。 ^ _ ^这有点滑稽,但这是真的。在Web上,带下划线的文本默认表示链接;这种模式是如此陈旧和完善,网络上几乎每个(视力正常)的人都自动将其作为他们与页面交互方式的一部分。

HTML5为&lt; em&gt;定义略有不同的含义和&lt; strong&gt;,特别是因为你只有两个标签,它们在语义上都做同样的事情。这只是邀请像你这样的问题,你想知道为什么没有第三种方法可以默认强调带有下划线表示(或者你有什么)的东西。

在HTML5中,&lt; em&gt;仍然表示强调。使用&lt; em&gt;通过关注特定的单词或短语来改变句子的含义。另一方面,&lt; strong&gt;表示重要性。将单词或短语标记为重要并不会改变句子的含义,它只会引起你的注意。

与往常一样,关于&lt; em&gt;的标准警告。默认情况下以斜体显示并且&lt; strong&gt;默认情况下使用粗体文本进行渲染,但是完全可能并且适合更改任一个的表示,适用。例如,屏幕阅读器可以对两个标签使用不同的变形。这就是语义存在的全部原因 - 这样我们就可以让演示者决定呈现数据的最佳方式;我们凡人的作者不可能在每种可能的媒介中得到正确的陈述。

答案 8 :(得分:1)

对于印刷工作者来说,强调和粗体是两种强大的方法。大多数人认为下划线比粗体文本更丑陋,因此通常保留用于粗体不可用时 - 例如在打字机上,或用手写东西,或用铅笔标记某些东西。

如果你真的想要下划线,那么完全有效:

<style>
    strong {
        font-weight: normal;
        text-decoration: underline;
    }
</style>

答案 9 :(得分:0)

网络本身并不适用于带下划线的文字。我同意Greg的意见,很容易将其与链接混淆。

答案 10 :(得分:0)

它不是语义的。我们生活在一个在代码中语义学日益重要的世界,因为我们厌倦了试图破译其他一些程序员“这对我来说是有道理的”混乱。