Skip to content

Instantly share code, notes, and snippets.

@maddesigns
Created March 3, 2014 21:39
Show Gist options
  • Save maddesigns/9335167 to your computer and use it in GitHub Desktop.
Save maddesigns/9335167 to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
// ----
// Sass (v3.3.0.rc.5)
// Compass (v1.0.0.alpha.18)
// ----
// @mixin fixed-ratiobox();
// stealed from https://github.com/Team-Sass/toolkit/blob/master/compass/stylesheets/toolkit/_intrinsic-ratio.scss
//
// usage:
// @include fixed-ratiobox(4/3, 50%, 'img, figure');
//
$intrinsic-ratio: 16/9 !default;
$intrinsic-ratio-width: 100% !default;
$intrinsic-ratio-elements: '> *' !default;
$intrinsic-ratio-extend: true !default;
$intrinsic-ratio-direction: top !default;
@mixin intrinsic-ratio-parent($extend: $intrinsic-ratio-extend) {
@if $extend {
@extend %intrinsic-ratio-parent;
}
@else {
position: relative;
height: 0;
}
}
@mixin intrinsic-ratio-child($extend: $intrinsic-ratio-extend) {
@if $extend {
@extend %intrinsic-ratio-child;
}
@else {
display: block;
position: absolute;
width: 100% !important; // Nuke the external styles
height: 100% !important; // Nuke the external styles
top: 0;
margin: 0;
padding: 0;
}
}
@mixin intrinsic-ratio-ratio($ratio: $intrinsic-ratio, $width: $intrinsic-ratio-width, $direction: $intrinsic-ratio-direction) {
padding-#{$direction}: (1 / $ratio) * $width;
width: $width;
}
@mixin intrinsic-ratio($ratio: $intrinsic-ratio, $width: $intrinsic-ratio-width, $elements: $intrinsic-ratio-elements, $extend: $intrinsic-ratio-extend, $direction: $intrinsic-ratio-direction) {
@include intrinsic-ratio-parent($extend);
@include intrinsic-ratio-ratio($ratio, $width, $direction);
@each $element in $elements {
#{$element} {
@include intrinsic-ratio-child($extend);
}
}
}
@mixin fixed-ratiobox($ratio: $intrinsic-ratio, $width: $intrinsic-ratio-width, $elements: $intrinsic-ratio-elements, $extend: $intrinsic-ratio-extend, $direction: $intrinsic-ratio-direction) {
@include intrinsic-ratio($ratio, $width, $elements, $extend, $direction);
}
%intrinsic-ratio-parent {
@include intrinsic-ratio-parent(false);
}
%intrinsic-ratio-child {
@include intrinsic-ratio-child(false);
}
.some-class {
@include fixed-ratiobox(16/9, 100%, 'img');
}
.some-class {
position: relative;
height: 0;
}
.some-class img {
display: block;
position: absolute;
width: 100% !important;
height: 100% !important;
top: 0;
margin: 0;
padding: 0;
}
.some-class {
padding-top: 56.25%;
width: 100%;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment