我有一组项目(或项目列表,但我不想暗示使用列表),它们包含图像链接、标题和描述。图像链接需要悬停效果(鼠标悬停时alpha会发生变化),并且我想以某种方式布置它们:左侧的图像,右侧的标题和描述。整个项目块也有背景。
这是我希望它看起来像的屏幕截图: alt text http://img26.imageshack.us/img26/9806/screenshothmr.png
所以我的问题是什么是一个好的语义html结构?我尝试像这样使用 dl:
<dl>
<dt><a href="#"></a></dt> <!-- using the background of anchor for the hover effect -->
<dd>Title<p>description goes here</p></dd>
<dt>...
</dl>
但我很难让css为此工作。例如,我需要为每组 a、dt 和 dd 设置一个额外的背景,并且我不想使用 3 个不同的图像来组合背景。所以现在我正在考虑使用一堆 div 来做到这一点:
<div>
<a href="#"></a> <!-- image link with background hover -->
<h4>Title</h4> <!-- i also wanted to use h4 inside the dd, but it won't pass validation -->
<p>description goes here</p>
<div>
这种布局的问题是它看起来不符合语义。我可以用无序列表将它包裹在 li 中,但这似乎是额外的标记。
也许我只是太挑剔了,但我确实想知道是否有一个好的解决方案。这是一个很长的问题,感谢您阅读到最后。