1

我读到了关于块引用的两件事:

  1. cite-tag 必须在 blockquote-tag 内

  2. 引号不是语义布局的一部分。这是有道理的,因为我不希望用户照顾正确的报价。例如。如果我想使用 Guillemets。

这导致了一个问题。如果我想让它看起来那样:

"Blockquotes are an essential part of a fancy website."
                                                – Cite

标记看起来像这样:

<blockquote><p>Blockquotes are an essential part of a fancy website."</p>
<cite>Cite</cite></blockquote>

我可以使用 :before 和 :after 元素来添加引号和破折号。但是如果我有两段呢?我可以将它们包装成一个跨度,但在这一点上,它真的太复杂了,我的用户无法处理它。(另外:Wordpress 甚至没有办法添加引用标签,但那是另一个故事)

你会如何解决这个问题?正确的块引用的 HTML 标记是什么?如何添加引号?

4

2 回答 2

2

这样的事情怎么样?

blockquote p:first-of-type:before {
    content:"\00AB";
    font-size:1.5em;
}

blockquote p:last-of-type:after {
    content:"\00BB";
    font-size:1.5em;}

cite:before {
    content:"\2014"
}

这使用 guillemets 和 mdash 来格式化输出。

jsfiddle:http: //jsfiddle.net/9LjTB/1/

于 2013-10-23T11:55:17.733 回答
2

(编辑:请注意,两个元素的定义blockquotecite,最近在HTML 5.1中发生了更改;此答案反映了当前的HTML5 状态,而不是更改后的 HTML 5.1 状态。)


cite元素不能是 的一部分blockquote(除非您引用引号+属性)。blockquote只能包含引用的内容,不能包含引用的作者/来源。

HTML5 规范blockquote

引用的属性(如果有)必须放在 blockquote 元素之外。

所以应该是:

<blockquote>…&lt;/blockquote>
<cite>…&lt;/cite>

请注意,在 HTML5 中,该cite元素只能用于“作品的标题”;所以很可能你想使用一个div,可能包含cite

<blockquote>…&lt;/blockquote>
<div class="quote-attribution">Walter White, <cite>Breaking Bad</cite></div>
于 2013-11-01T16:32:09.793 回答