Медиа объекты Bootstrap 4

Документация и примеры медиа-объектов Bootstrap для создания часто повторяющихся компонентов, таких как комментарии в блогах, твиты и т.п.

Пример

Медиа-объект помогает создавать сложные и повторяющиеся компоненты, в которых некоторые медиа позиционируются рядом с контентом, который не охватывает упомянутые медиа. Кроме того, благодаря flexbox он делает это только с двумя обязательными классами.

Ниже приведен пример одного медиа-объекта. Требуются только два класса - обертка .media и .media-body вокруг Вашего контента. Необязательные отступы и поля можно контролировать с помощью утилит интервалов.

Placeholder64x64
Медиа заголовок

Вы сделаете то же самое для меня? Пришло время столкнуться с музыкой. Я больше не твоя муза. Слышал, это прекрасно, будь судьей, и мои девочки проголосуют. Я чувствую внутри себя феникса. Небеса завидуют нашей любви, ангелы плачут свыше. Да, ты ведешь меня в утопию.

<div class="media">
  <img src="..." class="mr-3" alt="...">
  <div class="media-body">
    <h5 class="mt-0">Медиа заголовок</h5>
    <p>Вы сделаете то же самое для меня? Пришло время столкнуться с музыкой. Я больше не твоя муза. Слышал, это прекрасно, будь судьей, и мои девочки проголосуют. Я чувствую внутри себя феникса. Небеса завидуют нашей любви, ангелы плачут свыше. Да, ты ведешь меня в утопию.</p>
  </div>
</div>
Flexbug #12: Строковые элементы не рассматриваются как гибкие

Internet Explorer 10-11 не отображает встроенные элементы, такие как ссылки или изображения (или псевдоэлементы ::before и ::after) как гибкие элементы. Единственный обходной путь - установить не встроенное значение display (например, block, inline-block или flex). Мы предлагаем использовать .d-flex, одну из наших утилит отображения, как простое решение.

Источник: Flexbugs на GitHub

Вложенность

Медиа-объекты могут быть бесконечно вложенными, хотя мы рекомендуем Вам остановиться на каком-то этапе. Поместите вложенный файл .media в .media-body родительского медиа-объекта.

Placeholder64x64
Медиа заголовок

Standing on the frontline when the bombs start to fall. Heaven is jealous of our love, angels are crying from up above. Can't replace you with a million rings. Boy, when you're with me I'll give you a taste. There’s no going back. Before you met me I was alright but things were kinda heavy. Heavy is the head that wears the crown.

Placeholder64x64
Медиа заголовок

Greetings loved ones let's take a journey. Yes, we make angels cry, raining down on earth from up above. Give you something good to celebrate. I used to bite my tongue and hold my breath. I'm ma get your heart racing in my skin-tight jeans. As I march alone to a different beat. Summer after high school when we first met. You're so hypnotizing, could you be the devil? Could you be an angel? It's time to bring out the big balloons. Thought that I was the exception. Bikinis, zucchinis, Martinis, no weenies.

<div class="media">
  <img src="..." class="mr-3" alt="...">
  <div class="media-body">
    <h5 class="mt-0">Медиа заголовок</h5>
    <p>Standing on the frontline when the bombs start to fall. Heaven is jealous of our love, angels are crying from up above. Can't replace you with a million rings. Boy, when you're with me I'll give you a taste. There’s no going back. Before you met me I was alright but things were kinda heavy. Heavy is the head that wears the crown.</p>

    <div class="media mt-3">
      <a class="mr-3" href="#">
        <img src="..." alt="...">
      </a>
      <div class="media-body">
        <h5 class="mt-0">Медиа заголовок</h5>
        <p>Greetings loved ones let's take a journey. Yes, we make angels cry, raining down on earth from up above. Give you something good to celebrate. I used to bite my tongue and hold my breath. I'm ma get your heart racing in my skin-tight jeans. As I march alone to a different beat. Summer after high school when we first met. You're so hypnotizing, could you be the devil? Could you be an angel? It's time to bring out the big balloons. Thought that I was the exception. Bikinis, zucchinis, Martinis, no weenies.</p>
      </div>
    </div>
  </div>
</div>

Выравнивание

Мультимедиа в медиа-объекте можно выровнять с помощью утилит flexbox по верхнему (по умолчанию), среднему или концу Вашего содержимого .media-body.

Placeholder64x64
Top-aligned media

I’m gon’ put her in a coma. You give a hundred reasons why, and you say you're really gonna try. So I sat quietly, agreed politely. Suiting up for my crowning battle. And on my 18th Birthday we got matching tattoos. So très chic, yeah, she's a classic. I am ready for the road less traveled.

I'm walking on air (tonight). But down to earth. You're original, cannot be replaced. But in another life I would be your girl. We drove to Cali and got drunk on the beach. We can dance, until we die, you and I, will be young forever. Saw you downtown singing the Blues.

<div class="media">
  <img src="..." class="align-self-start mr-3" alt="...">
  <div class="media-body">
    <h5 class="mt-0">Top-aligned media</h5>
    <p>I’m gon’ put her in a coma. You give a hundred reasons why, and you say you're really gonna try. So I sat quietly, agreed politely. Suiting up for my crowning battle. And on my 18th Birthday we got matching tattoos. So très chic, yeah, she's a classic. I am ready for the road less traveled.</p>
    <p>I'm walking on air (tonight). But down to earth. You're original, cannot be replaced. But in another life I would be your girl. We drove to Cali and got drunk on the beach. We can dance, until we die, you and I, will be young forever. Saw you downtown singing the Blues.</p>
  </div>
</div>
Placeholder64x64
Center-aligned media

She'll turn cold as a freezer. At the eh-end of it all. Stinging like a bee I earned my stripes. Bikinis, zucchinis, Martinis, no weenies. I hope you got a healthy appetite. We can dance, until we die, you and I, will be young forever. We're living the life. We're doing it right. Word on the street, you got somethin' to show me, me.

Wanna see the show in 3D, a movie. They say, be afraid you're not like the others, futuristic lover. Open up your heart. So I sat quietly, agreed politely. Last Friday night. Yeah, you're lucky if you're on her plane. I'll be your gift, give you something good to celebrate.

<div class="media">
  <img src="..." class="align-self-center mr-3" alt="...">
  <div class="media-body">
    <h5 class="mt-0">Center-aligned media</h5>
    <p>She'll turn cold as a freezer. At the eh-end of it all. Stinging like a bee I earned my stripes. Bikinis, zucchinis, Martinis, no weenies. I hope you got a healthy appetite. We can dance, until we die, you and I, will be young forever. We're living the life. We're doing it right. Word on the street, you got somethin' to show me, me.</p>
    <p class="mb-0">Wanna see the show in 3D, a movie. They say, be afraid you're not like the others, futuristic lover. Open up your heart. So I sat quietly, agreed politely. Last Friday night. Yeah, you're lucky if you're on her plane. I'll be your gift, give you something good to celebrate.</p>
  </div>
</div>
Placeholder64x64
Bottom-aligned media

Come on, let your colours burst. I can feel this light that's inside of me. All night they're playing, your song. From Tokyo to Mexico, to Rio. There’s no going back. But down to earth. Magical, colorful, Mr. Mystery, ee. Different DNA, they don't understand you.

But down to earth. She's got that, je ne sais quoi, you know it. I can see the writing on the wall. The boys break their necks try'na to creep a little sneak peek. Take me, ta-ta-take me. Open up your heart. Thought that I was the exception. Boom, boom, boom. Venice beach and Palm Springs, summertime is everything. Bring the beat back. (This is how we do)

<div class="media">
  <img src="..." class="align-self-end mr-3" alt="...">
  <div class="media-body">
    <h5 class="mt-0">Bottom-aligned media</h5>
    <p>Come on, let your colours burst. I can feel this light that's inside of me. All night they're playing, your song. From Tokyo to Mexico, to Rio. There’s no going back. But down to earth. Magical, colorful, Mr. Mystery, ee. Different DNA, they don't understand you.</p>
    <p class="mb-0">But down to earth. She's got that, je ne sais quoi, you know it. I can see the writing on the wall. The boys break their necks try'na to creep a little sneak peek. Take me, ta-ta-take me. Open up your heart. Thought that I was the exception. Boom, boom, boom. Venice beach and Palm Springs, summertime is everything. Bring the beat back. (This is how we do)</p>
  </div>
</div>

Порядок

Измените порядок содержимого в медиа-объектах, изменив сам HTML или добавив некоторый настраиваемый CSS Flexbox, чтобы установить свойство order (целое число по Вашему выбору).

Media object

I know there will be sacrifice but that's the price. Are you brave enough to let me see your peacock? Be your teenage dream tonight. Uh-huh, I see you. There’s no going back. Yeah, we maxed our credit cards and got kicked out of the bar. So let me get you in your birthday suit. You may fall in love when you meet her. Had the world in the palm of your hands. Don't let the greatness get you down, oh, oh yeah. Now we talking astrology, getting our nails did, all Japanese-y. Make me your Aphrodite.

Placeholder64x64
<div class="media">
  <div class="media-body">
    <h5 class="mt-0 mb-1">Media object</h5>
    <p>I know there will be sacrifice but that's the price. Are you brave enough to let me see your peacock? Be your teenage dream tonight. Uh-huh, I see you. There’s no going back. Yeah, we maxed our credit cards and got kicked out of the bar. So let me get you in your birthday suit. You may fall in love when you meet her. Had the world in the palm of your hands. Don't let the greatness get you down, oh, oh yeah. Now we talking astrology, getting our nails did, all Japanese-y. Make me your Aphrodite.</p>
  </div>
  <img src="..." class="ml-3" alt="...">
</div>

Медиа-список

Поскольку у медиа-объекта очень мало структурных требований, Вы также можете использовать эти классы в элементах HTML списка. На Ваш

    или
      , добавьте .list-unstyled, чтобы удалить все стили списка браузера по умолчанию, а затем примените .media к Вашим
    1. . Как всегда, для точной настройки используйте утилиты интервалов.

      • Placeholder64x64
        List-based media object

        All my girls vintage Chanel baby. So you can have your cake. Tonight, tonight, tonight, I'm walking on air. Slowly swallowing down my fear, yeah yeah. Growing fast into a bolt of lightning. So hot and heavy, 'Til dawn. That fairy tale ending with a knight in shining armor. Heavy is the head that wears the crown.

      • Placeholder64x64
        List-based media object

        Maybe a reason why all the doors are closed. Cause once you’re mine, once you’re mine. Be your teenage dream tonight. Heavy is the head that wears the crown. It's not even a holiday, nothing to celebrate. A perfect storm, perfect storm.

      • Placeholder64x64
        List-based media object

        Are you brave enough to let me see your peacock? There’s no going back. This is the last time you say, after the last line you break. At the eh-end of it all.

      <ul class="list-unstyled">
        <li class="media">
          <img src="..." class="mr-3" alt="...">
          <div class="media-body">
            <h5 class="mt-0 mb-1">List-based media object</h5>
            <p>All my girls vintage Chanel baby. So you can have your cake. Tonight, tonight, tonight, I'm walking on air. Slowly swallowing down my fear, yeah yeah. Growing fast into a bolt of lightning. So hot and heavy, 'Til dawn. That fairy tale ending with a knight in shining armor. Heavy is the head that wears the crown.</p>
          </div>
        </li>
        <li class="media my-4">
          <img src="..." class="mr-3" alt="...">
          <div class="media-body">
            <h5 class="mt-0 mb-1">List-based media object</h5>
            <p>Maybe a reason why all the doors are closed. Cause once you’re mine, once you’re mine. Be your teenage dream tonight. Heavy is the head that wears the crown. It's not even a holiday, nothing to celebrate. A perfect storm, perfect storm.</p>
          </div>
        </li>
        <li class="media">
          <img src="..." class="mr-3" alt="...">
          <div class="media-body">
            <h5 class="mt-0 mb-1">List-based media object</h5>
            <p>Are you brave enough to let me see your peacock? There’s no going back. This is the last time you say, after the last line you break. At the eh-end of it all.</p>
          </div>
        </li>
      </ul>
      Помочь проекту