块引号必须包含段落还是段落必须包含块引号?

Must blockquotes contain paragraphs or must paragraphs contain blockquotes?

在HTML5中,把blockquotes放在段落里面是正确的还是相反的?我的意思是,逻辑表明 blockquote 可能引用了多个段落,不是吗?

但是blockquotes不需要包含q个元素吗?谁能给我解释一下正确的结构?

编辑:添加一些信息。我有这个疑问,因为当尝试用 CSS 实现引号时,它们不会出现在 blockquote 上,但会出现在 q 元素上。正确的做法是什么?

blockquote, q {
  quotes: "1C""1D""18""19";
  font-style: italic;
}
<blockquote>
  <p>Hello!</p>
  <p>Say something!</p>
</blockquote>
<p>He told me <q>Say something!</q>
</p>

blockquoteq 元素的块级 替换

如果你想引用多个段落,使其看起来像一个,使用 blockquote 并在其中放入 ps。

MDN on blockquotes

The HTML <blockquote> Element (or HTML Block Quotation Element) indicates that the enclosed text is an extended quotation.

例子里面有一个<p>一个<blockquote>.

<q> 另一方面说:

The HTML Quote Element (<q>) indicates that the enclosed text is a short inline quotation. This element is intended for short quotations that don’t require paragraph breaks; for long quotations use <blockquote> element.


底线:正确的用法是:

<blockquote>
  <p>Paragraph 1.</p>
  <p>Paragraph 2.</p>
</blockquote>
<p>
  Paragraph 3 with a <q>short quotation</q>.
</p>

根据 specs <p>s can only contains Phrasing content,哪个块引用不是。

在另一边 blockquote can contain Flow content <p>

所以只有 blockquote 内的段落有效,反之则无效。

根据 the specifications provided by the W3 groupblockquote 是一个块级语义,应该包含整个引用,它可以由多个段落组成。因为 blockquote 本身包含一个或多个段落(或其他元素),所以将它放在一个段落中没有多大意义。 W3G 提供的示例:

<blockquote>
    <p>My favorite book is <cite class="from-source">At Swim-Two-Birds</cite></p>
    <footer>- <cite>Mike[tm]Smith</cite></footer>
</blockquote>

如您所见,示例 blockquote 包含 p 元素内的文本,但不包含 q 元素内的文本。

The q element is a text level semantic 应该用来表示部分文字是引文。因为 blockquote 已经表示引用,所以不需要用 q 元素标记里面的文本。一个例子,取自 W3G 规范:

<p>The man said <q>Things that are impossible just take longer</q>. I disagreed with him.</p>

长话短说:如果你使用blockquote元素,将其他元素(如p元素)放在里面,但没有必要在里面使用q元素blockquote.