<h1>The Media Object</h1> <div class="box o-media"> <div class="o-media__left"><div class="pic"></div></div> <div class="o-media__body"><p>Body copy</p></div> </div> <div class="box o-media"> <div class="o-media__left"><div class="pic"></div></div> <div class="o-media__body"> <p>Body copy</p> <p>Body copy</p> <p>Body copy</p> </div> </div> <div class="box o-media"> <div class="o-media__body"><p>Body copy</p></div> <div class="o-media__right"><div class="pic"></div></div> </div> <div class="box o-media"> <div class="o-media__left"><div class="pic"></div></div> <div class="o-media__body"><p>Body copy</p></div> <div class="o-media__right"><div class="pic"></div></div> </div>
/* ========================================================================== #MEDIA OBJECT ========================================================================== */ /** * The media object places an image beside text. The text is designed to expand * to the remainder of the parent's width. */ .o-media { --o-media-side-alignment: flex-start; --o-media-body-alignment: center; --o-media-spacing: 0.5em; display: flex; flex-direction: row; width: 100%; } .o-media__left { align-self: var(--o-media-side-alignment); margin-right: var(--o-media-spacing); } .o-media__right { align-self: var(--o-media-side-alignment); margin-left: var(--o-media-spacing); } .o-media__body { align-self: var(--o-media-body-alignment); flex-grow: 1; } /* ========================================================================== #PAGE STYLES ========================================================================== */ p { background-color: pink; margin: 0; } .box { border: 1px solid #000; margin-bottom: 1em; width: 10em; } .pic { background-color: blue; height: 2em; width: 2em; }