В настоящее время я создаю свой собственный блог, и мне нужно разметить комментарии, но как лучше всего это сделать?
Информация, которую мне нужно представить:
Любая идея была бы очень полезна.
PS: меня интересует только семантическая разметка 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 и только одного класса. Список показывает порядок, в котором были сделаны комментарии, ссылка на веб-сайт людей и изображение для их граватара, тег cite для сайта, который сказал комментарий, и цитата, чтобы удержать то, что они сказали.
Что думают люди?
Я думаю, что ваша версия с цитатой, цитатой и т. д. Определенно сработает, но если семантика является вашей главной заботой, то я лично не буду использовать цитирование и цитату, поскольку в них есть определенные вещи, которые они должны представлять.
Тег 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.
Насколько я понимаю, атрибуты класса - это то, что ведет к семантике. Я считаю, что большинство микроформатов реализованы как классы и атрибуты в XHTML, и вы не получите ничего более семантического, чем это, если вы не хотите использовать RDF и тому подобное.