很抱歉,如果这听起来很挑剔,但我要制作大量的HTML 5,我希望有人能够提出一些明确的规则来确定何时使用< em>,< strong>和< mark>标签。该规范提出了一些微妙的差异,但我不断发现自己在问我是否希望文本用粗体,斜体或黄色高亮,这让我觉得我应该使用CSS代替。 (有时我想知道为什么我甚至可以轻易写下“猫不是狗”。)
答案 0 :(得分:22)
我不断发现自己在问我是否希望文字粗体,斜体或黄色高亮,这让我觉得我应该使用CSS代替。
这是100%正确的。标记用于描述内容,而不是外观。话虽如此:
http://www.w3.org/html/wg/drafts/html/master/text-level-semantics.html
<strong>
元素对其内容非常重要。使用强元素更改一段文本的重要性不会改变句子的含义。
<em>
元素表示其内容的重点强调。压力强调的位置会改变句子的含义。
<mark>
元素表示标记或突出显示以供参考的一个文档中的一组文本,由于其在另一个上下文中的相关性。
<mark>
与内容无关,只与上下文相关(例如,标记与搜索字词匹配的内容,拼写错误的字词,在网络应用中选择的内容等)。
<strong>
表示重要文字,但不影响意义。
<em>
表示重要文本,并通过强调阅读/说出内容来影响内容的含义。
您可以自由使用CSS更改所有这些元素的浏览器默认值。
答案 1 :(得分:1)
寻找例如写作风格图书。没错,网页不如此正式,但它应该给你一个起点。斜体文本(即,&lt; em&gt;)用于强调。粗体(&lt; strong&gt;)用于标题等,很少用于运行文本。
答案 2 :(得分:1)
记住HTML是一种标记语言。在里面你写了页面的内容。如果你使用&#34;猫不是狗&#34;,像google这样的搜索引擎不知道&#34; DOGS&#34;是一个尊贵的短语(当然,你的读者会注意到它)。如果你使用CSS,这是一种样式语言,同样的事情发生了:搜索引擎不承认&#34; DOGS&#34;作为尊贵的文本,但用户做。
当您使用问题的元素时,它们确实提供了信息。他们称之为语义元素。例如,搜索引擎(或屏幕阅读器或演讲软件)使用元素<h1>
作为标题比使用<p>
并通过CSS使其变得更大和更大胆更具信息性。另一个例子是使用alt
中的title
和img
属性,因为引擎无法理解src
中的图片。
因此,即使用户中的任何HTML元素<em>
,<strong>
,<mark>
都很明显,它们也会对内部文本赋予不同的含义它们用于引擎。