// Foundation for Sites // https://get.foundation // Licensed under MIT Open Source //// /// @group media-object //// /// Bottom margin of a media object. /// @type Number $mediaobject-margin-bottom: $global-margin !default; /// Left and right padding on sections within a media object. /// @type Number $mediaobject-section-padding: $global-padding !default; /// Width of images within a media object, when the object is stacked vertically. Set to 'auto' to use the image's natural width. /// @type Number $mediaobject-image-width-stacked: 100% !default; /// Adds styles for a media object container. @mixin media-object-container { display: if($global-flexbox, flex, block); margin-bottom: $mediaobject-margin-bottom; @if $global-flexbox { flex-wrap: nowrap; } img { max-width: none; } @if $global-flexbox { &.stack-for-#{$-zf-zero-breakpoint} { @include breakpoint($-zf-zero-breakpoint only) { flex-wrap: wrap; } } } } /// Adds styles for sections within a media object. /// @param {Number} $padding [$mediaobject-section-padding] - Padding between sections. @mixin media-object-section($padding: $mediaobject-section-padding) { @if $global-flexbox { flex: 0 1 auto; } @else { display: table-cell; vertical-align: top; } &:first-child { padding-#{$global-right}: $padding; } &:last-child:not(:nth-child(2)) { padding-#{$global-left}: $padding; } > :last-child { margin-bottom: 0; } .stack-for-#{$-zf-zero-breakpoint} & { @include breakpoint($-zf-zero-breakpoint only) { @include media-object-stack; } } @if $global-flexbox { &.main-section { flex: 1 1 0px; // sass-lint:disable-line zero-unit } } @else { &.middle { vertical-align: middle; } &.bottom { vertical-align: bottom; } } } /// Adds styles to stack sections of a media object. Apply this to the section elements, not the container. @mixin media-object-stack { padding: 0; padding-bottom: $mediaobject-section-padding; @if $global-flexbox { flex-basis: 100%; max-width: 100%; } @else { display: block; } img { width: $mediaobject-image-width-stacked; } } @mixin foundation-media-object { .media-object { @include media-object-container; } .media-object-section { @include media-object-section; } }