userName 85eb4dab99 项目重构:添加 Next.js 前端和更新项目结构 4 weeks ago
..
LICENSE 85eb4dab99 项目重构:添加 Next.js 前端和更新项目结构 4 weeks ago
README.md 85eb4dab99 项目重构:添加 Next.js 前端和更新项目结构 4 weeks ago
index.d.ts 85eb4dab99 项目重构:添加 Next.js 前端和更新项目结构 4 weeks ago
index.js 85eb4dab99 项目重构:添加 Next.js 前端和更新项目结构 4 weeks ago
package.json 85eb4dab99 项目重构:添加 Next.js 前端和更新项目结构 4 weeks ago

README.md

PostCSS Nested

<img align="right" width="135" height="95"

 title="Philosopher’s stone, logo of PostCSS"
 src="https://postcss.org/logo-leftp.svg">

PostCSS plugin to unwrap nested rules like how Sass does it.

.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-atroot for @at-root at-rule to move nested child to the CSS root.
  • 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:

<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg"

   alt="Sponsored by Evil Martians" width="236" height="54">

Docs

Read full docs on GitHub.