Code前端首页关于Code前端联系我们

Bootstrap 媒体对象:示例、嵌套、对齐、列表

terry 2年前 (2023-09-27) 阅读数 62 #数据结构与算法

示例

媒体对象可以帮助您构建复杂和重复的组件。此外,使用 Flexbox,您只需要使用两个必要的类。

下面是一个媒体对象的示例。只需使用两个类 - 周围图层上的 .media 和包含内容的 .media-body。填充和边距可以通过间距类进行控制。

<div class="media">
  <img class="mr-3"  alt="Generic placeholder image">
  <div class="media-body">
    <h5 class="mt-0">Media heading</h5>
    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
  </div>
</div>
复制代码

错误编号12 flexa:行内元素不能成为flex元素。

在 IE 10 到 11 中,链接或图像等内联元素(或 ::before::after 伪元素)无法呈现为 Flex 元素。唯一的解决方案是将 display 属性设置为不在行中的值。我们建议在显示类中使用 .d-flex 作为简单的修复。

源代码:GitHub上的Flexbugs


嵌套

媒体对象可以无限嵌套,但我们建议不要无限嵌套。只需将 .media 添加到 .media-body 父媒体对象即可。

<div class="media">
  <img class="mr-3"  alt="Generic placeholder image">
  <div class="media-body">
    <h5 class="mt-0">Media heading</h5>
    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

    <div class="media mt-3">
      <a class="pr-3" href="#">
        <img  alt="Generic placeholder image">
      </a>
      <div class="media-body">
        <h5 class="mt-0">Media heading</h5>
        Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
      </div>
    </div>
  </div>
</div>
复制代码

对齐

媒体对象中的媒体可以使用 Flexbox 类对齐到顶部(默认)、中心或底部 .media-body

<div class="media">
  <img class="align-self-center mr-3"  alt="Generic placeholder image">
  <div class="media-body">
    <h5 class="mt-0">Center-aligned media</h5>
    <p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
    <p class="mb-0">Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
  </div>
</div>
复制代码

排序

你可以​​改变HTML代码的顺序来改变内容的顺序,也可以通过添加一些flexbox CSS来设置order属性。

<div class="media">
  <div class="media-body">
    <h5 class="mt-0 mb-1">Media object</h5>
    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
  </div>
  <img class="ml-3"  alt="Generic placeholder image">
</div>
复制代码

媒体列表

由于媒体对象具有最低的结构要求,因此您还可以将这些类用于 HTML 列表元素。将 .list-unstyled 添加到

      以删除默认浏览器列表样式,然后使用
    1. 使用。media。您仍然可以使用间距等级进行微调。

      <ul class="list-unstyled">
        <li class="media">
          <img class="mr-3"  alt="Generic placeholder image">
          <div class="media-body">
            <h5 class="mt-0 mb-1">List-based media object</h5>
            Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
          </div>
        </li>
        <li class="media my-4">
          <img class="mr-3"  alt="Generic placeholder image">
          <div class="media-body">
            <h5 class="mt-0 mb-1">List-based media object</h5>
            Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
          </div>
        </li>
        <li class="media">
          <img class="mr-3"  alt="Generic placeholder image">
          <div class="media-body">
            <h5 class="mt-0 mb-1">List-based media object</h5>
            Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
          </div>
        </li>
      </ul>

      作者:?Badd

      版权声明

      本文仅代表作者观点,不代表Code前端网立场。
      本文系作者Code前端网发表,如需转载,请注明页面地址。

    2. 热门