What is postcss-merge-longhand?
The postcss-merge-longhand package is a PostCSS plugin that merges longhand CSS properties into shorthand properties. This helps in reducing the size of the CSS by combining multiple longhand properties into a single shorthand property where possible.
What are postcss-merge-longhand's main functionalities?
Merge Margin Properties
This feature merges individual margin properties (margin-top, margin-right, margin-bottom, margin-left) into a single shorthand margin property.
/* Input CSS */
{
margin-top: 10px;
margin-right: 20px;
margin-bottom: 10px;
margin-left: 20px;
}
/* Output CSS */
{
margin: 10px 20px;
}
Merge Padding Properties
This feature merges individual padding properties (padding-top, padding-right, padding-bottom, padding-left) into a single shorthand padding property.
/* Input CSS */
{
padding-top: 5px;
padding-right: 10px;
padding-bottom: 5px;
padding-left: 10px;
}
/* Output CSS */
{
padding: 5px 10px;
}
Merge Border Properties
This feature merges individual border properties (border-width, border-style, border-color) into a single shorthand border property.
/* Input CSS */
{
border-width: 1px;
border-style: solid;
border-color: black;
}
/* Output CSS */
{
border: 1px solid black;
}
Other packages similar to postcss-merge-longhand
cssnano
cssnano is a modular minifier that optimizes CSS for production. It includes a variety of plugins, including one for merging longhand properties into shorthand. cssnano is more comprehensive and includes many other optimizations beyond just merging longhand properties.
clean-css
clean-css is a fast and efficient CSS optimizer that can also merge longhand properties into shorthand. It provides a wide range of optimization options and is known for its speed and efficiency.
csso
csso (CSS Optimizer) is a CSS minifier that performs structural optimization of CSS files. It includes functionality to merge longhand properties into shorthand, along with other optimizations to reduce the size of CSS files.
postcss-merge-longhand
Merge longhand properties into shorthand with PostCSS.
Install
With npm do:
npm install postcss-merge-longhand --save
Example
Merge longhand properties into shorthand; works with margin
, padding
&
border
. For more examples see the tests.
Input
h1 {
margin-top: 10px;
margin-right: 20px;
margin-bottom: 10px;
margin-left: 20px;
}
Output
h1 {
margin: 10px 20px;
}
Usage
See the PostCSS documentation for
examples for your environment.
Contributors
See CONTRIBUTORS.md.
License
MIT © Ben Briggs