Вопрос

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

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

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

Любая идея будет очень оценена.

ПС:Меня интересует только семантическая html-разметка.

Это было полезно?

Решение

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

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

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

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

Вот один из способов сделать это с помощью следующего 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 и только одного класса.В списке показан порядок комментариев, ссылка на веб-сайт человека и изображение для его граватара, тег цитирования сайта, написавшего комментарий, и блок-цитата для хранения того, что он сказал.

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

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

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

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

Feederscript.php будет чем-то, что может читать из базы данных и отображать только требуемый комментарий.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top