Bootstrap 多媒体对象

多媒体对象(Media Object)是"左侧或右侧配图 + 侧边文字"的经典版式,常见于评论列表、新闻摘要、用户动态。Bootstrap 提供 .media 系列类快速搭建这种结构,还支持小图相对文字在顶部、中部或底部对齐,并允许无限嵌套来模拟楼中楼回复。

基本结构

一个完整的多媒体对象由容器、左右区域和正文三部分构成:

<div class="media">
  <div class="media-left">
    <img src="avatar.jpg" class="media-object" alt="用户头像">
  </div>
  <div class="media-body">
    <h4 class="media-heading">作者:张三</h4>
    <p>这是一条评论内容,图片在左、文字在右。</p>
  </div>
</div>

效果:左侧显示小图,右侧标题加粗、正文紧随其后,整体紧凑对齐,和常见的评论版式一致。

图片的对齐方式

.media-left 追加对齐类,可以控制小图在文字侧的位置:

<div class="media">
  <div class="media-left media-middle">
    <img src="a.jpg" class="media-object" alt="示例图">
  </div>
  <div class="media-body">
    <h4 class="media-heading">中部对齐示例</h4>
    <p>当文字较高时,图片默认在顶部;加 media-middle 后图片垂直居中。</p>
  </div>
</div>

效果:文字块较高时,图片不再贴顶而是停在整块的垂直居中位置;同理把类换成 .media-bottom 可让图片贴底。

图片放在右侧

需要"文字在左、图在右"时,把正文放在前面、图区用 .media-right

<div class="media">
  <div class="media-body">
    <h4 class="media-heading">右侧配图</h4>
    <p>正文在左,图片在右,适合强调配图的场景。</p>
  </div>
  <div class="media-right">
    <img src="b.jpg" class="media-object" alt="示例图">
  </div>
</div>

效果:版式左右对调,正文靠左、图片靠右,两侧仍保持垂直顶部对齐。

媒体列表与嵌套

.media-list 包裹多条 .media,并在第一条的 .media-body 内再放一层 .media,即可实现嵌套评论:

<ul class="media-list">
  <li class="media">
    <div class="media-left"><img src="a.jpg" class="media-object" alt="头像"></div>
    <div class="media-body">
      <h4 class="media-heading">楼主评论</h4>
      <p>正文内容……</p>
      <div class="media">
        <div class="media-left"><img src="b.jpg" class="media-object" alt="头像"></div>
        <div class="media-body">
          <h4 class="media-heading">回复</h4>
          <p>嵌套的回复会整体向右缩进。</p>
        </div>
      </div>
    </div>
  </li>
</ul>

效果:外层评论与内层回复自动形成层级缩进,看起来像论坛的楼中楼;嵌套层数不限,需要几层就套几层。

小结:.media 系列类可快速拼出"图文并排"版式,配合对齐类、.media-right 与嵌套即可覆盖评论、动态流等绝大多数内容列表场景。

笔记加载中…