npm.io
9.1.4 • Published yesterday

postcss-merge-rules

Licence
MIT
Version
9.1.4
Deps
5
Size
234 kB
Vulns
0
Weekly
0
Stars
5.0K

postcss-merge-rules

Merge CSS rules with PostCSS.

Install

With npm do:

npm install postcss-merge-rules --save

Examples

This module will attempt to merge adjacent CSS rules, rules with the same selector, or @media, @supports or @container blocks with the same condition that are separated only by unrelated rules:

By declarations
Input
a {
    color: blue;
    font-weight: bold
}

p {
    color: blue;
    font-weight: bold
}
Output
a,p {
    color: blue;
    font-weight: bold
}
By selectors
Input
a {
    color: blue
}

a {
    font-weight: bold
}
Output
a {
    color: blue;
    font-weight: bold
}

Unrelated rules between the two merged rules are left in place. A rule that sets a property a later rule also sets stops the merge, because the cascade order would change.

Input
a {
    color: blue
}

p {
    margin: 0
}

a {
    font-weight: bold
}
Output
a {
    color: blue;
    font-weight: bold
}

p {
    margin: 0
}
By partial declarations
Input
a {
    font-weight: bold
}

p {
    color: blue;
    font-weight: bold
}
Output
a,p {
    font-weight: bold
}

p {
    color: blue
}

Usage

See the PostCSS documentation for examples for your environment.

Contributors

See CONTRIBUTORS.md.

License

MIT Ben Briggs

Keywords