正确使用 Blockquote、q 和 cite?

Posted

技术标签:

【中文标题】正确使用 Blockquote、q 和 cite?【英文标题】:Correct use of Blockquote, q and cite? 【发布时间】:2011-01-13 09:25:19 【问题描述】:

这是Blockquoteqcite的正确用法吗?

<p>
<blockquote>Type html in the textarea above, <q>and it will magically appear</q> in the frame below.
</blockquote>
<cite><a href="http://***.com">refrence url</a>
</p>

Blockquoteq 的使用在语义上是否正确?还是两者都是表现元素,所以不应该使用?

【问题讨论】:

【参考方案1】:

根据this,“cite”是 q 的一个属性 - 并没有得到很好的支持。

【讨论】:

【参考方案2】:

您可以认为BLOCKQUOTE 类似于DIVQ 类似于SPAN

建议的用法是在BLOCKQUOTE 中包含大引号,在Q 中包含小的单行或句子引号。

<blockquote>
    <p>This is a big quote.</p>
    <p>This is the second paragraph with a smaller <q>quote</q> inside</p>
</blockquote>

Cite 是一个属性,仅指向源。

【讨论】:

【参考方案3】:

是的。它们不是表现元素——blockquote 代表块引用,q 代表内联引用,cite 代表对名称、作品、标准、URL 等的引用。

您确实有一些validation errors 在blockquote 中相当常见。块引用元素不能在段落内,而在 HTML4 中实际上需要包含 个段落。片段中pblockquote 元素的嵌套需要颠倒。

blockquote 元素(也是q 元素)可以选择具有cite 属性来指定引用来源的URI。 HTML5 says 用户代理应该使该链接对用户可用,而 HTML4 根本不说什么。我会在 cite 属性和内联链接中包含 URI,因为浏览器不处理它。

以下是我将如何编写该片段,并考虑到这些修订:

<blockquote cite="http://***.com">
  <p>Type HTML in the textarea above, <q>and it will magically
  appear</q> in the frame below.</p>
</blockquote>
<p>
  <cite><a href="http://***.com">reference url</a></cite>
</p>

Validate this fragment

【讨论】:

为什么我们需要使用不同的

来放置 为什么我们不能在 之后放置相同的

块引用不能在段落内。关闭块引用标签后,您需要开始一个新段落。 但是我们不能把 放在
之后 吗?
哦,当然,你可以。我对这个问题真的没有意见。我只是在块引用之后留下了它,就像你有它一样。 @JitendraVyas,以及现在发现此问题的任何人,cite 现在在 blockquote 内有效。 html5doctor.com/cite-and-blockquote-reloaded【参考方案4】:

&lt;cite&gt; 元素的语义(和有效)使用仍在争论中,即使 “在 HTML5 中,使用此元素来标记人名在语义上不再被认为是合适的。”

您可以在此处找到有关“&lt;blockquote&gt;&lt;q&gt;&lt;cite&gt;”的非常详细且有用的文章:

http://html5doctor.com/blockquote-q-cite/

【讨论】:

另一个关于该主题的好读物(带有示例标记)是 A List Apart 的文章和要点,您可以在此处找到:alistapart.com/blog/post/… 和此处:gist.github.com/murtaugh/4489740 html5doctor.com/blockquote-q-cite now (2014-09-29) 声明,“HTML 中 cite 和 blockquote 的定义已更改。有关使用这些元素的最新建议,请参阅 cite and blockquote – reloaded”【参考方案5】:

使用诸如blockquoteqcite 属性等属性不会使其易于显示(没有JS 或棘手的CSS),因此无法解决轻松显示引用链接的目的。 It is now conforming 包含cite(和/或footer blockquote 指定引用的来源,无论是文本还是通过URL,如下所示:

<blockquote>
  <p>Beware of bugs in the above code; I have only proved it correct, not tried it.” </p>
  <cite><a href="http://www-cs-faculty.stanford.edu/~uno/faq.html">Donald Knuth: Notes on the van Emde Boas construction of priority deques: An instructive use of recursion, March 29th, 1977</a>
</blockquote>

请注意:

引用内容(不是源引用)中的cite 案例也被认为非常罕见,应通过相关cite 子标签上的区分类进行处理)

关于q,它确实是为了内联引用,但它更有可能在块引用之外使用(引号中的引用非常少见)。

【讨论】:

【参考方案6】:

此页面上的其他答案已过时,但问题仍然有效。

q 元素在语义上表示一个引用,并且是一个内联元素。它应该像这样使用(即其中没有块元素):

<p>
   In the words of <cite>Charles Bukowski</cite> -  
   <q>An intellectual says a simple thing in a hard way. 
   An artist says a hard thing in a simple way.</q>
</p>

另一个例子:

<p>
    <q>This is correct, said Hillary.</q> is a quote from the 
    popular daytime TV drama <cite>When Ian became Hillary</cite>.
</p> 

q 元素不应放在blockquote 元素内,因为它是多余的——两者都表示引号。

blockquote 是一个块元素,允许在里面放置其他块元素:

  <blockquote>
    <p>My favorite book is <cite>At Swim-Two-Birds</cite>.</p>
    - <cite>Mike Smith</cite>
  </blockquote>

&lt;cite&gt; 是一个内联元素,表示作品的标题。由于 W3C 和 WHATWG 现在已经同意合作,我们有one answer 来说明它可能包含的内容:书名、电影名、电视节目名、游戏名、歌曲名、戏剧名等。

不应是 URL 或作者姓名。

这是一个有效的用法:

<figure>
 <blockquote>
  <p>The truth may be puzzling. It may take some work to grapple with.
  It may be counterintuitive. It may contradict deeply held
  prejudices. It may not be consonant with what we desperately want to
  be true. But our preferences do not determine what's true.</p>
 </blockquote>
 <figcaption>Carl Sagan, in "<cite>Wonder and Skepticism</cite>", from
 the <cite>Skeptical Inquirer</cite> Volume 19, Issue 1 (January-February
 1995)</figcaption>
</figure>

【讨论】:

很棒的解释! W3C 规范的链接现在转发到 WHATWG 页面,因为这是现在被接受且唯一的规范(参见 w3.org/html)。换句话说:WHATWG 示例是官方正确的示例,并且 cite 元素不应包含作者姓名。 @makkabi 谢谢!更新

以上是关于正确使用 Blockquote、q 和 cite?的主要内容,如果未能解决你的问题,请参考以下文章

其他元素

13. 泛型和枚举

SQA和测试规程

重置样式表

异常处理

深度学习