Разметка HTML-комментариев

В настоящее время я создаю свой собственный блог, и мне нужно разметить комментарии, но как лучше всего это сделать?

Информация, которую мне нужно представить:

  1. Имя лица
  2. Значок Граватара
  3. Дата комментария
  4. Комментарий

Любая идея была бы очень полезна.

PS: меня интересует только семантическая разметка html.

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
15
0
1 893
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Вот один из способов сделать это с помощью следующего CSS, чтобы поместить изображение слева от содержимого:

.comment {
  width: 400px;
}

.comment_img {
  float: left;
}

.comment_text,
.comment_meta {
  margin-left: 40px;
}

.comment_meta {
  clear: both;
}
<div class='comment' id='comment_(comment id #)'>
  <div class='comment_img'>
    <img src='https://placehold.it/100' alt='(Commenter Name)' />
  </div>
  <div class='comment_text'>
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed mauris. Morbi quis tellus sit amet eros ullamcorper ultrices. Proin a tortor. Praesent et odio. Duis mi odio, consequat ut, euismod sed, commodo vitae, nulla. Suspendisse potenti. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam pede.</p>
    <p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas rhoncus accumsan velit. Donec varius magna a est. </p>
  </div>
  <p class='comment_meta'>
    By <a href='#'>Name</a> on <span class='comment_date'>2008-08-21 11:32 AM</span>
  </p>
</div>

Я не знаю, есть ли разметка, которая обязательно хорошо представляла бы структуру комментария без использования div или классов, но вы могли бы использовать списки определений. Вы можете использовать несколько тегов dt и dd в контексте списка определений - http://www.w3.org/TR/html401/struct/lists.html#edef-DL

<dl>
  <dt>By [Name] at 2008-01-01<dt>
  <dd><img src='...' alt=''/></dd>
  <dd><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed mauris. Morbi quis tellus sit amet eros ullamcorper ultrices. Proin a tortor. Praesent et odio. Duis mi odio, consequat ut, euismod sed, commodo vitae, nulla. Suspendisse potenti. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam pede.</p>

  <p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas rhoncus accumsan velit. Donec varius magna a est. </p>
   </dd>
</dl>

Обновление: при таком подходе меня беспокоит то, что может быть сложно однозначно идентифицировать элементы с помощью CSS для целей стилизации. Вы можете использовать JavaScript (здесь отлично подойдет jQuery) для поиска и применения стилей. Без полной поддержки селектора CSS в браузерах (IE) его было бы сложнее стилизовать.

Возможно, я думал о чем-то вроде этого:

<ol class = "comments">
    <li>
        <a href = "">
            <img src = "" alt = "" />
        </a>
        <cite>Name<br />Date</cite>
        <blockquote>Comment</blockquote>
    </li>
</ol>

Это очень семантично без использования div и только одного класса. Список показывает порядок, в котором были сделаны комментарии, ссылка на веб-сайт людей и изображение для их граватара, тег cite для сайта, который сказал комментарий, и цитата, чтобы удержать то, что они сказали.

Что думают люди?

Насколько я понимаю, атрибуты класса - это то, что ведет к семантике. Я считаю, что большинство микроформатов реализованы как классы и атрибуты в XHTML, и вы не получите ничего более семантического, чем это, если вы не хотите использовать RDF и тому подобное.

Thomas Owens 08.08.2008 00:02
Ответ принят как подходящий

Я думаю, что ваша версия с цитатой, цитатой и т. д. Определенно сработает, но если семантика является вашей главной заботой, то я лично не буду использовать цитирование и цитату, поскольку в них есть определенные вещи, которые они должны представлять.

Тег blockquote предназначен для представления цитаты из другого источника, а тег cite предназначен для представления источника информации (например, журнала, газеты и т. д.).

Я думаю, что можно привести аргумент, что вы можете использовать семантический HTML с именами классов, если они имеют смысл. В этой статье о простом старом семантическом HTML есть ссылка на использование имен классов - http://www.fooclass.com/plain_old_semantic_html

Я понимаю вашу точку зрения. Хорошо, прочитав эту статью, почему бы вам не попробовать что-то подобное?

<blockquote 
    cite = "http://yoursite/comments/feederscript.php?id=commentid" 
    title = "<?php echo Name . " - " . Date ?>" >
    <?php echo Comment ?>
</blockquote>

с помощью шикарного CSS, чтобы он выглядел красиво.

Federscript.php может считывать данные из базы данных и выводить эхо только по запросу commentid.

Другие вопросы по теме