piecewisecss v1.7.8
Seamless Media Queries Made Simple
PiecewiseCSS makes use of an intuitive responsive design pattern to make writing Sass for all screen sizes fast and easy.
main.scss
@import '../node_modules/piecewisecss/piecewise.scss';
h1 {
@include piecewise(font-size, 24, 48, 480, 1200, !important);
}The piecewise() mixin takes six arguments:
- a CSS property;
- the minimum
- and maximum desired values of that property (in px);
- the browser widths, beneath
- and above which those values will be applied;
- and an optional appender argument for values such as
!important.
In the example above, the <h1> tag will have:
- a
font-sizeof24pxat browser width <=480px; - a
font-sizeof48pxat browser width >=1200px; - between
480pxand1200px, the font-size will be scaled linearly with the browser width, resulting in a seamless, gradual breakpoint.
Global Breakpoint Variables
New in 1.4: Use global variables to keep your breakpoints consistent. Using one or both of the local screen width arguments will override these.
main.scss
$globalMin: 480px;
$globalMax: 1000px;./some-other-file.scss
@import './main.scss';
.class {
@include piecewise(padding: 0 5px, 20px);
}Use as Breakpoint
New in 1.2: Invoke piecewise() to apply one-line media queries by using only the pxMin argument. In the example below, flex-basis will simply flip from 100% to 33% at 480px.
.class {
@include piecewise(flex-basis, 100%, 33%, 480);
@include piecewise(flex-direction, column, row, 480);
}Note this is the only mode of piecewise() that supports non-px and string values.
@inversePiecewise()
New in 1.5: The @mixin inversePiecewise() provides you with the inverse value (100% - that value) of what piecewise() provides you. Say you want control of two divs that split the width of a parent:
.sidebar {
@include piecewise(width, 100, 120, 480, 1000);
}
.window {
@include inversePiecewise(width, 100, 120, 480, 1000);
}In this example, .sidebar will adjust its width from 100px to 120px from view-widths 480px to 1000px, and the .window element will occupy the rest of the remaining space.
On, Off, On Again
New in 1.7: Invoke piecewise() to set three values at two breakpoints:
@include piecewise(display, none, inline, none, 650, 1000);This element will be displayed inline between 650px and 1000px, and disappear otherwise.
5 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago