Socket
Socket
Sign inDemoInstall

postcss-nested

Package Overview
Dependencies
7
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    postcss-nested

PostCSS plugin to unwrap nested rules like how Sass does it


Version published
Weekly downloads
8.8M
decreased by-0.51%
Maintainers
1
Install size
216 kB
Created
Weekly downloads
 

Package description

What is postcss-nested?

The postcss-nested npm package allows developers to use nested syntax in CSS, similar to what is possible in preprocessors like SASS and LESS. It processes CSS files and unwraps nested rules following the CSS Nesting specification. This makes the CSS more readable and maintainable by organizing styles in a hierarchical manner.

What are postcss-nested's main functionalities?

Nesting Rules

This feature allows you to nest hover and other pseudo-class selectors inside the main selector block, making the CSS structure more intuitive and easier to manage.

a {
  color: red;
  &:hover {
    color: green;
  }
}

Nesting Properties

Enables grouping of properties under a common namespace, which can be particularly useful for font, margin, and padding definitions, leading to a cleaner and more organized style definition.

a {
  font: {
    weight: bold;
    size: 14px;
    family: Arial, sans-serif;
  }
}

Nesting At-Rules

Supports nesting of at-rules like @media, allowing for more streamlined and readable media query definitions within the relevant selector context.

@media (min-width: 768px) {
  body {
    background: lightblue;
    a {
      color: navy;
    }
  }
}

Other packages similar to postcss-nested

Changelog

Source

6.0.1

  • Added @container to bubbling at-rules.

6.0

  • Added @layer to bubbling at-rules (by Már Örlygsson).
  • Added moving all preceding comments with rule (by Már Örlygsson).
  • Added with & without parameters on @at-root (by Már Örlygsson).
  • Added rootRuleName option (by Már Örlygsson).
  • Fixed handling sibling @at-root rule blocks (by Már Örlygsson).

Readme

Source

PostCSS Nested

PostCSS plugin to unwrap nested rules closer to Sass syntax.

.phone {
    &_title {
        width: 500px;
        @media (max-width: 500px) {
            width: auto;
        }
        body.is_dark & {
            color: white;
        }
    }
    img {
        display: block;
    }
}

.title {
  font-size: var(--font);

  @at-root html {
      --font: 16px
  }
}

will be processed to:

.phone_title {
    width: 500px;
}
@media (max-width: 500px) {
    .phone_title {
        width: auto;
    }
}
body.is_dark .phone_title {
    color: white;
}
.phone img {
    display: block;
}

.title {
  font-size: var(--font);
}
html {
  --font: 16px
}

Related plugins:

  • Use postcss-current-selector after this plugin if you want to use current selector in properties or variables values.
  • Use postcss-nested-ancestors before this plugin if you want to reference any ancestor element directly in your selectors with ^&.

Alternatives:

Sponsored by Evil Martians

Docs

Read full docs here.

Keywords

FAQs

Last updated on 19 Feb 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc