Bootstrap的媒体对象(Media Object)是一种用于构造高度重复的组件的布局模式,常用于展示博客评论、推文等内容。媒体对象包括一个图片(可选)、一个标题和一些文本内容,三个部分都可以通过Bootstrap的CSS类进行样式定制。
一、示例
Bootstrap媒体对象可以用于构建复杂且重复的组件,其中某些媒体与未环绕所述媒体的内容并列。并且,由于媒体对象使用了flexbox布局,因此只需使用两个必需的类即可实现这一点。
Bootstrap媒体对象只需要两个类:.medi类和.media-body类。可选的填充和边距可以通过间距实用程序进行控制。
以下是单个媒体对象的示例代码:
<div class="media"> <img src="..." class="mr-3" alt="..."> <div class="media-body"> <h5 class="mt-0">Media heading</h5> <p>Will you do the same for me? It's time to face the music I'm no longer your muse. Heard it's beautiful, be the judge and my girls gonna take a vote. I can feel a phoenix inside of me. Heaven is jealous of our love, angels are crying from up above. Yeah, you take me to utopia.</p> </div> </div>
Flexbug #12是指在Internet Explorer 10-11中,内联元素(如链接或图像)不会被视为flex项目。这意味着在这些浏览器中,无法直接对内联元素应用flex布局。
二、嵌套
媒体对象可以无限嵌套,但我们建议您在某个时间点停止。嵌套在父媒体对象中的位置。.media.media-body
以上代码为:
<div class="media"> <img src="..." class="mr-3" alt="..."> <div class="media-body"> <h5 class="mt-0">Media heading</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="#" rel="external nofollow" > <img src="..." alt="..."> </a> <div class="media-body"> <h5 class="mt-0">Media heading</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 实用程序对齐到内容的顶部(默认)、中间或末尾。
以上代码为:
<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>
以上代码为:
<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 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> </div> </div>
四、顺序
通过修改 HTML 本身或添加一些自定义 flexbox CSS 来设置属性(设置为您选择的整数),更改媒体对象中内容的顺序。
以上代码如下:
<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 元素上使用<ul><ol>类。在 or 上,添加.list-unstyled以删除任何浏览器默认列表样式,然后应用于.media<li>。与往常一样,在需要微调的地方使用间距实用程序。
以上代码显示为:
<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>