В Bootstrap версии 5.0.0-alpha1 что я могу использовать для мультимедиа (BS 3/4)?

#javascript #html #css #twitter-bootstrap #bootstrap-5

#javascript #HTML #css #twitter-bootstrap #bootstrap-5

Вопрос:

Я хочу использовать медиа-объект в Bootstrap v5.0.0-alpha1, но как?

В Bootstrap 3 и 4 я использую его следующим образом:

 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">

<div class="container mt-3">
<h2>Media Object</h2>
<p>Create a media object with the .media and .media-body classes:</p>
<div class="media border p-3">
    <img src="https://cdn.pixabay.com/photo/2016/11/18/23/38/child-1837375_960_720.png" alt="John Doe"
         class="mr-3 mt-3 rounded-circle" style="width:60px;">
    <div class="media-body">
        <h4>John Doe <small>Posted on February 19, 2016</small></h4>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
            dolore magna aliqua.</p>
    </div>
</div>
</div>  

В версии 5.0.0-alpha1 какой класс я могу использовать для медиа-объекта? Я не смог найти ни одного класса с именем «media» в Bootstrap 5.

Ответ №1:

Поскольку Bootstrap удалил «медиа-объект» в версии 5, вам придется использовать служебные классы вместо этого.

 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.1.0/css/bootstrap.min.css"/>

<div class="container mt-3">
<h2>Media Object</h2>
<p>Create a media object without .media and .media-body classes (BS5):</p>
<div class="d-flex border p-3">
    <img src="https://cdn.pixabay.com/photo/2016/11/18/23/38/child-1837375_960_720.png" alt="John Doe"
         class="flex-shrink-0 me-3 mt-3 rounded-circle" style="width:60px;height:60px;">
    <div>
        <h4>John Doe <small>Posted on February 19, 2016</small></h4>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
            dolore magna aliqua.</p>
    </div>
</div>
</div>  

Комментарии:

1. В BS 5 для утилит полей и отступов, mr а ml теперь me и ms (конец и начало полей)…

Ответ №2:

Документация Bootstrap 5 иллюстрирует, как использовать карты для достижения старого макета медиа-объекта. https://getbootstrap.com/docs/5.0/components/card/#horizontal

Например:

 <div class="card mb-3 border-0">
    <div class="row g-3">
        <div class="col-md-4">
            <svg class="bd-placeholder-img" width="100%" height="250" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Placeholder: Image" preserveAspectRatio="xMidYMid slice" focusable="false"><title>Placeholder</title><rect width="100%" height="100%" fill="#868e96"></rect><text x="50%" y="50%" fill="#dee2e6" dy=".3em">Image</text></svg> 
        </div>
        <div class="col-md-8">
            <div class="card-body p-0">
                <h5 class="card-title">Card title</h5>
                <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
                <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
            </div>
        </div>
    </div>
</div>
  

Ответ №3:

Для тех из вас, кто просто использует части сетки Bootstrap, вы могли бы создать макет медиа-объекта, подобный этому:

   <figure class="row">
    <p class="col-auto">
      <img src="https://placeimg.com/100/100/animals" alt="A cute animal">
    </p>
    <figcaption class="col">Look at the cute animal</figcaption>
  </figure>
  

col-auto сжатие — переносит столбец по ширине содержимого (в приведенном выше примере, изображения) и col просто занимает (или распределяет, если их больше одного) оставшееся пространство. Смотрите Документацию для получения дополнительной информации.