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

2018-12-2609:52:38网页制作Comments2,368 views字数 3815阅读模式

例子

在一些媒体元素定位在内容旁边,并且(文字)内容并不围绕媒体排列的情况下,媒体对象能帮你构建复杂且重复的组件。另外,借助flexbox,只需要用两个必要的类即可。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/9068.html

下面是单媒体对象的一个例子。只需用两个类——包围层上的.media和包含内容(content)的.media-body。可以通过spacing类控制padding和margin。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/9068.html

<div class="media">
  <img class="mr-3" src=".../64x64" 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>
复制代码

flex的Bug#12:行内元素无法成为flex的item。

IE 10到11中,诸如链接或图片(或::before::after伪元素)等行内元素并不能渲染成flex item。唯一的变通方法就是把display属性设置成除了inline以外的值。我们建议使用display类中的.d-flex作为简单修复的方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/9068.html

源码:Flexbugs on GitHub文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/9068.html


嵌套

媒体对象可以无限嵌套,但我们建议你还是别无限套。在父级媒体对象的.media-body中添加.media就可以了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/9068.html

<div class="media">
  <img class="mr-3" src=".../64x64" 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 src=".../64x64" 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的上(默认)、中或下。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/9068.html

<div class="media">
  <img class="align-self-center mr-3" src=".../64x64" 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属性。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/9068.html

<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" src=".../64x64" alt="Generic placeholder image">
</div>
复制代码

媒体列表

因为媒体对象的结构要求很少,所以你也可以对HTML列表元素使用这些类。在<ul><ol>上添加.list-unstyled来移除浏览器默认的列表样式,然后对<li>使用.media。你依旧可以使用spacing类来微调。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/9068.html

<ul class="list-unstyled">
  <li class="media">
    <img class="mr-3" src=".../64x64" 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" src=".../64x64" 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" src=".../64x64" 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文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/9068.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/zhizuo/9068.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定