From 832a90d9d342c5df887a4411f2e0c637b43f3fa1 Mon Sep 17 00:00:00 2001 From: Martijn Cuppens Date: Mon, 10 Sep 2018 20:59:04 +0200 Subject: Move media from layout to components --- site/_data/nav.yml | 2 +- site/docs/4.1/components/media-object.md | 144 +++++++++++++++++++++++++++++++ site/docs/4.1/layout/media-object.md | 144 ------------------------------- 3 files changed, 145 insertions(+), 145 deletions(-) create mode 100644 site/docs/4.1/components/media-object.md delete mode 100644 site/docs/4.1/layout/media-object.md diff --git a/site/_data/nav.yml b/site/_data/nav.yml index 7aa92bd28..14002d395 100644 --- a/site/_data/nav.yml +++ b/site/_data/nav.yml @@ -15,7 +15,6 @@ pages: - title: Overview - title: Grid - - title: Media object - title: Utilities for layout - title: Content @@ -42,6 +41,7 @@ - title: Input group - title: Jumbotron - title: List group + - title: Media object - title: Modal - title: Navs - title: Navbar diff --git a/site/docs/4.1/components/media-object.md b/site/docs/4.1/components/media-object.md new file mode 100644 index 000000000..d846386b7 --- /dev/null +++ b/site/docs/4.1/components/media-object.md @@ -0,0 +1,144 @@ +--- +layout: docs +title: Media object +description: Documentation and examples for Bootstrap's media object to construct highly repetitive components like blog comments, tweets, and the like. +group: components +toc: true +--- + +## Example + +The [media object](http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code/) helps build complex and repetitive components where some media is positioned alongside content that doesn't wrap around said media. Plus, it does this with only two required classes thanks to flexbox. + +Below is an example of a single media object. Only two classes are required—the wrapping `.media` and the `.media-body` around your content. Optional padding and margin can be controlled through [spacing utilities]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/spacing/). + +{% capture example %} +
+ Generic placeholder image +
+
Media heading
+ 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. +
+
+{% endcapture %} +{% include example.html content=example %} + +{% capture callout %} +##### Flexbug #12: Inline elements aren't treated as flex items + +Internet Explorer 10-11 do not render inline elements like links or images (or `::before` and `::after` pseudo-elements) as flex items. The only workaround is to set a non-inline `display` value (e.g., `block`, `inline-block`, or `flex`). We suggest using `.d-flex`, one of our [display utilities]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/display/), as an easy fix. + +**Source:** [Flexbugs on GitHub](https://github.com/philipwalton/flexbugs#flexbug-12) +{% endcapture %} +{% include callout.html content=callout type="warning" %} + +## Nesting + +Media objects can be infinitely nested, though we suggest you stop at some point. Place nested `.media` within the `.media-body` of a parent media object. + +{% capture example %} +
+ Generic placeholder image +
+
Media heading
+ 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. + +
+ + Generic placeholder image + +
+
Media heading
+ 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. +
+
+
+
+{% endcapture %} +{% include example.html content=example %} + +## Alignment + +Media in a media object can be aligned with flexbox utilities to the top (default), middle, or end of your `.media-body` content. + +{% capture example %} +
+ Generic placeholder image +
+
Top-aligned media
+

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.

+

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.

+
+
+{% endcapture %} +{% include example.html content=example %} + +{% capture example %} +
+ Generic placeholder image +
+
Center-aligned media
+

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.

+

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.

+
+
+{% endcapture %} +{% include example.html content=example %} + +{% capture example %} +
+ Generic placeholder image +
+
Bottom-aligned media
+

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.

+

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.

+
+
+{% endcapture %} +{% include example.html content=example %} + +## Order + +Change the order of content in media objects by modifying the HTML itself, or by adding some custom flexbox CSS to set the `order` property (to an integer of your choosing). + +{% capture example %} +
+
+
Media object
+ 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. +
+ Generic placeholder image +
+{% endcapture %} +{% include example.html content=example %} + +## Media list + +Because the media object has so few structural requirements, you can also use these classes on list HTML elements. On your `