1

我是编码新手并且有一个微不足道的问题:当在文本中写出引号更容易时,为什么需要使用引号标记?

4

2 回答 2

5

一切都与语义有关

HTML 的目的是允许您向资源添加语义信息。换句话说,当您用引号标记包围引号时,您正在向将使用此资源的程序描述内容的含义。程序并不总是只是将 HTML 渲染成图像供我们查看的浏览器;它们可能是视力受损者的屏幕阅读器或从网页读取信息并将数据插入数据库的程序(例如搜索引擎的网络爬虫)。

为什么是语义?

与您类似的问题是,“当我可以使用具有自定义样式的标签来使字体更大更粗时,为什么还要使用标题标签?”

原因是通过使用标题标签(h1、h2 等)标记文本,您是在告诉读取 HTML 文档的程序该内容具有特殊含义。除了简单地向用户显示之外,程序还可以对文档进行处理;如果 HTML 文档有标题标签,程序可以通过简单地列出标题标签的内容来自动创建文档的目录(类似于 Wikipedia 文章如何在顶部自动创建目录)这页纸)。

所以,一切都从添加语义信息开始。正如其他人指出的那样,您可以设置引号标记的内容,而您不能在两个引号字符内设置内容样式。然而,这是添加语义的副产品,不一定是最终目标。当然,您可以通过将引号括起来来设置引号的样式<div class="quote">..</div>。但是,这样做您将失去让浏览器帮助您根据需要呈现引号的能力(请参阅引号 css 属性),甚至无法让浏览器使用用户的默认引号来呈现引号 locale

即使在此之后,quote 元素也不仅仅是样式。例如,quote 元素提供了显示带有“站点”属性的附加信息的能力

语义信息如何用于引用?

例如,假设我创建了一个名为“ http://example.com/MyThoughts ”的 HTML 页面。在该页面中,我有以下 HTML ...

<p>The W3C page <cite>About W3C</cite> says the W3C's mission is <q
cite="http://www.w3.org/Consortium/">To lead the World Wide Web to its
full potential by developing protocols and guidelines that ensure
long-term growth for the Web</q>. I disagree with this mission.</p>

注意这里元素的 cite 属性(不要与element<q>混淆)。如果人们以这种方式添加引用元素,我们现在可以创建一个网络爬虫,通过互联网寻找包含引用和引用的页面。然后,使用这些数据,我们可以创建一个文档及其引用的数据库。我们可以创建一个新站点,其输出可能看起来像...<cite>

Resource: "About W3C"
Location: http://www.w3.org/Consurtium
Document Citing This Resources:
    Resource: "My Thoughts"
    Location: http://example.com/MyThoughts

...或同样有用...

Resource: "My Thoughts"
Location: http://example.com/MyThoughts
Documents Cited in this Resource:
    Resource: "About W3C"
    Location: http://www.w3.org/Consurtium

如您所见,我们创建了一个应用程序,可以将来自其他网站的数据连接在一起,而无需 API 或直接访问数据库。就是为文档添加语义的力量。

结论

在进行日常开发工作时,通常会忽略将语义引入 HTML 文档的可能性,而不是确保网站“在浏览器中看起来不错”。由于诸如帮助您为特定用户正确设置引号样式等原因,语义添加信息仍然会有所帮助。

可以肯定的是,如果您使用引号字符而不是引号元素,Tim Berners-Lee就不会破产。但是,特定于用户区域设置的内置浏览器呈现的引号是一个很好的胡萝卜。

于 2013-11-29T20:19:47.010 回答
3

这当然不是必需的,但有许多原因<q>可能首选使用:

于 2013-11-29T19:39:39.473 回答