Правильное использование Blockquote, q и cite? - PullRequest
51 голосов
/ 05 февраля 2010

Это правильное использование Blockquote, q и cite?

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

Является ли использование Blockquote, q семантически правильным? или оба элемента представления, поэтому не должны использоваться?

Ответы [ 6 ]

48 голосов
/ 05 февраля 2010

Да. Они не являются элементами представления - blockquote представляет блочную цитату, q представляет встроенную цитату, а cite представляет ссылку на имя, работу, стандарт, URL и т. Д.

У вас есть ошибки проверки , которые довольно часто встречаются в blockquote. Элемент blockquote не может быть внутри абзаца, а в HTML4 на самом деле нужно содержать абзацев. Вложенность элементов p и blockquote в вашем фрагменте должна быть изменена.

Элемент blockquote (также элемент q) может дополнительно иметь атрибут cite, чтобы указать URI, откуда взялась кавычка. HTML5 говорит, что пользовательские агенты должны сделать эту ссылку доступной для пользователя, а HTML4 вообще ничего не говорит. Я бы включил URI как в атрибут cite, так и в качестве встроенной ссылки, поскольку браузеры не обрабатывают его.

Вот как я мог бы написать этот фрагмент с учетом этих изменений:

<blockquote cite="http://stackoverflow.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://stackoverflow.com">reference url</a></cite>
</p>

Проверить этот фрагмент

11 голосов
/ 25 сентября 2015

Другие ответы на этой странице устарели, но вопрос все еще актуален.

Элемент 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, так как он будет избыточным - оба обозначают кавычку.

A blockquote является элементом блока, позволяющим размещать другие элементы блока внутри:

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

<cite> немного сложнее. Это встроенный элемент, но он зависит от того, какую спецификацию HTML вы используете. В W3C указывается, что он может содержать URL-адрес, название произведения (например, название книги, название фильма и т. Д.) Или имя автора.

WHATWG гласит, что он может содержать только URL-адрес или название произведения, и поэтому не имя человека.

Это допустимое использование WHATWG:

<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>
4 голосов
/ 05 февраля 2010

Вы можете рассмотреть BLOCKQUOTE аналогично DIV и Q аналогично 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>

Цитировать - это атрибут, который просто указывает на источник.

3 голосов
/ 23 марта 2014

Использование таких атрибутов, как cite атрибут blockquote или q, не позволяет легко отобразить его (без JS или хитрого CSS) и поэтому не позволяет легко отобразить ссылочную ссылку. В настоящее время соответствует включению 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, то оно действительно нацелено на кавычки, но его, скорее всего, используют за пределами блок-кавычек (кавычки в кавычках встречаются довольно редко).

0 голосов
/ 19 сентября 2013

Семантическое (и допустимое) использование элемента <cite> все еще обсуждается, даже если "в HTML5, использование этого элемента для маркировки имени человека больше не считается семантически приемлемым."

Вы найдете очень подробную и полезную статью о "<blockquote>, <q> и <cite>" здесь:

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

0 голосов
/ 05 февраля 2010

Согласно this , "cite" является атрибутом of q - и при этом не очень хорошо поддерживается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...