diff --git a/packages/cli/src/plugins/resource/plugin-standard-css.js b/packages/cli/src/plugins/resource/plugin-standard-css.js index 70ab75556..63c3b74ba 100644 --- a/packages/cli/src/plugins/resource/plugin-standard-css.js +++ b/packages/cli/src/plugins/resource/plugin-standard-css.js @@ -83,6 +83,8 @@ function bundleCss(body, url, compilation) { optimizedCss += `#${name}`; } else if (type === 'ClassSelector') { optimizedCss += `.${name}`; + } else if (type === 'NestingSelector') { + optimizedCss += '&'; } else if (type === 'PseudoClassSelector') { optimizedCss += `:${name}`; diff --git a/packages/cli/test/cases/build.config.optimization-default/fixtures/expected.css b/packages/cli/test/cases/build.config.optimization-default/fixtures/expected.css index bdaab6708..0e265be46 100644 --- a/packages/cli/test/cases/build.config.optimization-default/fixtures/expected.css +++ b/packages/cli/test/cases/build.config.optimization-default/fixtures/expected.css @@ -78,4 +78,6 @@ h2 ::slotted(span){background:silver} tabbed-custom-element::part(tab){color:#0c0dcc;border-bottom:transparent solid 2px;} -::highlight(rainbow-color-1){color:#ad26ad;text-decoration:underline;} \ No newline at end of file +::highlight(rainbow-color-1){color:#ad26ad;text-decoration:underline;} + +h2{& span{color:red}} \ No newline at end of file diff --git a/packages/cli/test/cases/build.config.optimization-default/src/styles/main.css b/packages/cli/test/cases/build.config.optimization-default/src/styles/main.css index b31735600..dde456cbf 100644 --- a/packages/cli/test/cases/build.config.optimization-default/src/styles/main.css +++ b/packages/cli/test/cases/build.config.optimization-default/src/styles/main.css @@ -173,4 +173,10 @@ tabbed-custom-element::part(tab) { ::highlight(rainbow-color-1) { color: #ad26ad; text-decoration: underline; +} + +h2 { + & span { + color: red; + } } \ No newline at end of file