html - 在 HTML5 中显示单个投资组合项目的最语义方式是什么?

标签 html

当然有一些关于正确使用 html5

元素的讨论和问题,但没有一个对我的问题有具体的答案。

这更像是一个关于显示投资组合项目的一般性问题。当然,您可以这样做:

<ul>
  <li>
    <h1>Project Title</h1>
    <img src="#"/>
    <p>a short description</p>
  </li>
</ul>

<div class="portfolio-item">
  <h1>Project Title</h1>
  <img src="#"/>
  <p>a short description</p>
</div>

肯定有许多其他方法来描述单个项目,但我想知道如果将整个包装起来,它是否有效语义 HTML5 item 放入

元素中,图片放入
元素中。考虑以下示例

<article class="portfolio-item">
  <h1>Project Title</h1>
  <figure>
    <img src="#">
    <figcaption>a short description</figcaption>
  </figure>
  <a href="#"> View details</a>
</article>

如果不是,最语义化的显示方式是什么?

最佳答案

个人不认为使用图形来描述/图像是个好主意。虽然我会说您正在以有效的方式使用它,但我不一定会将其定义为带有标题的图形,因此我发现调用 so 并不是特别语义化。我觉得 figure/figcaption 标签最好保留给图表之类的东西。在你的情况下,我认为你最好把图像放在它自己的位置上,并将简短描述放在 <p> 中。标记(就像您在第二个示例中所做的那样)。

我还将 header 放在 <header> 中标签。

这就是我的做法,作为文章列表:

<ul>
  <li>
    <article class="portfolio-item">
      <header>
        <h1>Project Title</h1>
      </header>
      <img src="#">
      <p>a short description</p>
      <a href="#"> View details</a>
    </article>
  </li>
  <li>
    etc...
  </li>
</ul>

关于html - 在 HTML5 中显示单个投资组合项目的最语义方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10123553/

相关文章:

javascript - 在js中更改img的来源并获得0的宽度?

php - Apache:mod_rewrite 不指向一个地址

html - 使用下拉菜单从水平导航中删除滚动条

html - 关闭标签体后标签头

javascript - 按比例调整图像大小以适应 HTML5 Canvas

html - Angular 2为元素分配动态类

javascript - fullcalendar 事件拖放在 Firefox 中不起作用

java - Thymeleaf 图像 src + ParseException : Exception evaluating SpringEL expression: "currentUser.get(' profilePicture'). 获取 ('url' )"

javascript - innerHTML 和 innerText 之间 "<br>"的有趣转换

html - 元素达到最大宽度时不居中