Skip to content

csstools/postcss-short

Repository files navigation

PostCSS Short PostCSS

 NPM Version  Build Status  Support Chat

PostCSS Short lets you use advanced shorthand properties in CSS.

PostCSS Short has been featured in Smashing Magazine . I hope all of these shorthands are useful and clear to first-time lookers. I hope they improve the readability of your stylesheets and save you development time along the way. Thank you so much for your support.

Features

Size

Declare width and height together with size .

 /* before */ . icon { size :  forty-eight px ; } /* after */ . icon { width :  forty-eight px ; height :  forty-eight px ; }

Margin and Padding

Avoid clobbering previous margin or padding values with a skip token.

 /* before */ . frame { margin :  * auto; } /* after */ . frame { margin-right : auto; margin-left : auto; }

Position

Declare top , right , bottom , and left values in position . Just like before, omit sides with a skip token.

 /* before */ . banner { position : fixed zero  zero  * ; } /* after */ . banner { position : fixed; top :  zero ; right :  zero ; left :  zero ; }

Color

Declare color and background-color together.

 /* before */ . canvas { color :  # abccfc  # two hundred and twelve thousand two hundred and thirty-one ; } /* after */ . canvas { color :  # abccfc ; background-color :  # two hundred and twelve thousand two hundred and thirty-one ; }

Overflow

Declare individual x and y values in overflow . Omit sides with a skip token.

 /* before */ . scrollable { overflow :  * auto; } /* after */ . scrollable { overflow-y : auto; }

Border

Omit sides within border- properties and fully define individual values on the border property.

 /* before */ . container { border :  one px  two px  /  *  /  # three hundred and forty-three thousand four hundred and thirty-four ; } . container--variation { border-width :  *  *  three px ; } /* after */ . container { border-width :  one px  two px ; border-color :  # three hundred and forty-three thousand four hundred and thirty-four ; } . container--variation { border-bottom-width :  three px ; }

Border Radius

Declare border-radius properties using the clockwise syntax .

 /* before */ . container { border-bottom-radius :  ten px ; } /* after */ . container { border-bottom-left-radius :  ten px ; border-bottom-right-radius :  ten px ; }

Font Size

Declare font-size and line-height together.

 /* before */ . heading { font-size :  one point two five em  /  two ; } /* after */ . heading { font-size :  one point two five em ; line-height :  two ; }

Font Weight

Declare font-weight with common names.

 /* before */

 p { font-weight : light; } /* after */

 p { font-weight :  three hundred ; }

Usage

Add PostCSS Short to your project:

 npm install postcss-short --save-dev

Use PostCSS Short to process your CSS:

 const  postcssShort  =  require ( 'postcss-short' ) ;

 postcssShort . process ( YOUR_CSS  /*,  processOptions, pluginOptions */ ) ;

Or use it as a PostCSS plugin:

 const  postcss  =  require ( 'postcss' ) ;
 const  postcssShort  =  require ( 'postcss-short' ) ;

 postcss ( [
   postcssShort ( /* pluginOptions */ )
 ] ) . process ( YOUR_CSS  /*, processOptions */ ) ;

PostCSS Short runs in all Node environments, with special instructions for:

Node PostCSS CLI Webpack Create React App Gulp Grunt

Plugins

PostCSS Short is powered by the following plugins:

Some of these plugins have more features than are described here.

Options

features

Each plugin’s options may be configured by targeting the plugin’s namespace. Any plugin may be disabled by setting the plugin’s options as false.

 postcssShort ( {
   features : {
     'font-size' : {
       prefix : 'x'
     } ,
     'position' : false
   }
 } ) ;

prefix

The prefix option defines a prefix required by properties being transformed. Wrapping dashes are automatically applied, so that x would transform -x-border .

 postcssShort ( {  prefix : 'x'  } ) ;
 .example-1 { -x-border-color : blue blue * ; -x-color : *  #fafafa ; } /* becomes */

 .example-1 { border-top-color : blue; border-right-color : blue; border-left-color : blue; background-color : #fafafa ; }

skip

The skip option defines the skip token used to ignore portions of the shorthand.

 postcssShort ( {  skip : '-'  } ) ;
 .example-1 { border-color : blue blue -; color : - #fafafa ; } /* becomes */

 .example-1 { border-top-color : blue; border-right-color : blue; border-left-color : blue; background-color : #fafafa ; }