@avalanche/object-aspect-ratio

Maintain aspect ratio.

Install

npm install @avalanche/object-aspect-ratio --save-dev

Basic usage

// Import the main file.
@import 'node_modules/@avalanche/object-aspect-ratio/scss/index.scss';

Usage with node-sass-magic-importer

Using node-sass (or a plugin for Grunt, gulp or webpack which is using node-sass) in combination with the node-sass-magic-importer custom importer, can make importing CSS dependencies from node_modules a much nicer experience.

// Import the main file.
@import '~@avalanche/object-aspect-ratio';

// Import just the classes you need.
@import '{ .o-aspect-ratio, .o-aspect-ratio--4/3, .o-aspect-ratio__inner } from ~@avalanche/object-aspect-ratio';

// Not a fan of the "o-" prefix?
@import '{ .o-aspect-ratio as .aspect-ratio, .o-aspect-ratio__inner as .aspect-ratio__inner } from ~@avalanche/object-aspect-ratio';

Demo

Default (16/9)
```html
Default (16/9)
```

Ratios

4/3
16/9
21/9
```html
4/3
16/9
21/9
```

Mixins

@import 'node_modules/@avalanche/object-aspect-ratio/scss/mixins';

// Usage.
.aspect-ratio {
  @include o-aspect-ratio(16, 9, '.aspect-ratio__inner');
}

Settings

Modify the default aspect ratio via the $o-aspect-ratio-default map variable.

/// Container max widths.
/// @type Map
$o-aspect-ratio-default: (
  width: 16,
  height: 9,
) !default;

About

Author

Markus Oberlehner
Website: https://markus.oberlehner.net
Twitter: https://twitter.com/MaOberlehner
PayPal.me: https://paypal.me/maoberlehner

License

MIT

Do you want to support avalanche?

Star the project on GitHub