SASS编译报错:顶级选择器不能含父选择器&,求替代写法
解决Bootstrap 4 SASS编译时
&父选择器报错的问题 错误原因
你碰到的Error: Top-level selectors may not contain the parent selector "&",是因为@page属于CSS顶级规则(at-rule),它没有父选择器,Sass不允许在这种顶级规则内部用&来拼接伪类。
可行的解决写法
除了你考虑的移除&只保留:blank之外,还有两种直观的写法:
直接在@page内部写
:blank
这是最简洁的方式,在@page规则内直接写:blank,Sass编译时会自动解析为@page:blank,完全符合CSS规范:@page { size: A4 portrait; margin: 1cm; font-size: $print-font-size-base !important; :blank { height: 0; } }拆分独立的@page规则
如果想把默认页面样式和:blank伪类样式分开维护,可以写成两个独立的@page规则,结构更清晰:@page { size: A4 portrait; margin: 1cm; font-size: $print-font-size-base !important; } @page:blank { height: 0; }
这两种写法都能正常通过Sass编译,最终生成的CSS效果和你原本想要的一致。
内容的提问来源于stack exchange,提问作者mana
相关产品推荐
相关产品推荐

