1.1.2 • Published 5 years ago

viewport-scaling-scss v1.1.2

Weekly downloads
1
License
Unlicense
Repository
github
Last release
5 years ago

viewport-scaling-scss

This project contains a Sass mixin to enable responsive property value scaling based on viewport values.

The mixin allows you to define a floor and ceiling to limit the minimum and maximum values of any given property.

Between the floor and ceiling, the value is automatically scaled according to a given viewport unit.

Usage

A single mixin viewport-scaling is defined:

  • $property - the name of the property to scale (e.g. font-size)
  • $min-value - the minimum value the property can have, before the floor is reached (e.g. 16px)
  • $max-value - the maximum value the property can have, after the ceiling is reached (e.g. 72px)
  • $bp-floor - the floor breakpoint at which viewport scaling enables (e.g. 480px)
  • $bp-ceiling - the ceiling breakpoint at which viewport scaling disables (e.g. 960px)
  • $v-unit - the viewport unit to scale the value by between the floor and ceiling (e.g. vw)
  • $mq-prop - the media query property to determine the floor and ceiling by (e.g. min-width)

This works for any properties and units which are compatible with media queries and viewport units.

Example:

h1 {
	@include viewport-scaling(font-size, 16px, 72px, 480px, 960px, vw, min-width);
}

Scales the text size using vw units when the viewport width is between 480px and 960px; <480px the size is always 16px, and >=960px, the size is always 72px.

Example (2):

div {
	@include viewport-scaling(width, 150px, 300px, 480px, 960px, vw, min-width);
	@include viewport-scaling(height, 150px, 300px, 480px, 960px, vw, min-width);
}

Scales the width and height using vw units when the viewport width is between 480px and 960px; <480px the dimensions are always 150px, and >=960px, the dimensions are always 72px.

CodePen View on CodePen

This project is released as public domain software under the Unlicense.

©James Walker 2018.

1.1.2

5 years ago

1.1.1

6 years ago

1.1.0

6 years ago