You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SASS编译报错:顶级选择器不能含父选择器&,求替代写法

解决Bootstrap 4 SASS编译时&父选择器报错的问题

错误原因

你碰到的Error: Top-level selectors may not contain the parent selector "&",是因为@page属于CSS顶级规则(at-rule),它没有父选择器,Sass不允许在这种顶级规则内部用&来拼接伪类。

可行的解决写法

除了你考虑的移除&只保留:blank之外,还有两种直观的写法:

  1. 直接在@page内部写:blank
    这是最简洁的方式,在@page规则内直接写:blank,Sass编译时会自动解析为@page:blank,完全符合CSS规范:

    @page {
      size: A4 portrait;
      margin: 1cm;
      font-size: $print-font-size-base !important;
    
      :blank {
        height: 0;
      }
    }
    
  2. 拆分独立的@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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 07:16:29