Socket
Socket
Sign inDemoInstall

postcss-nested

Package Overview
Dependencies
4
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 it Sass does


Version published
Weekly downloads
9M
increased by2.56%
Maintainers
1
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

Readme

Source

PostCSS Nested Build Status

PostCSS plugin to unwrap nested rules like it Sass does.

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

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
}

Usage

See PostCSS docs for source map options and other special cases.

Grunt

grunt.initConfig({
    postcss: {
        options: {
            processors: [ require('postcss-nested').postcss ]
        },
        dist: {
            src: 'css/*.css'
        }
    }
});

grunt.loadNpmTasks('grunt-postcss');

Gulp

var postcss = require('gulp-postcss');

gulp.task('css', function () {
     return gulp.src('./src/*.css')
        .pipe(postcss([ require('postcss-nested') ]))
        .pipe(gulp.dest('./dest'));
});

Node

var postcss = require('postcss');
var nested  = require('postcss-nested');

var processed = postcss(nested).process(css).css;

Keywords

FAQs

Last updated on 11 Nov 2014

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc