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

SCSS中用%声明CSS样式遇问题,px正常%异常求助

解决SCSS生成百分比类名的问题

问题原因

CSS类名的标识符规则里,%属于特殊字符,不能直接作为类名的一部分使用(不像px是合法字符),所以直接写.w-#{$i}%会导致SCSS解析报错。

修正方案

要生成h-[2%]这类格式的类名,需要把百分比符号用方括号包裹,同时对%进行转义,这样既符合合法类名规则,也能匹配你想要的命名格式。以下是修正后的SCSS代码:

/* Pixels */
@for $i from 1 through 100 {
    .w-#{$i}px {
        width: #{$i}px;
    }
}

/* Percent */
@for $i from 1 through 100 {
    .w-[\#{$i}\%] {
        width: #{$i}%;
    }
}

/* Pixels */
@for $i from 1 through 100 {
    .h-#{$i}px {
        height: #{$i}px;
    }
}

/* Percent */
@for $i from 1 through 100 {
    .h-[\#{$i}\%] {
        height: #{$i}%;
    }
}

这段代码会生成类似.h-[2%]、.w-[50%]这样的合法类名,对应的样式也能正常生效。如果不需要方括号,也可以直接转义%写成.w-#{$i}\%,但方括号的写法更直观,也和你想要的命名格式完全匹配。


内容的提问来源于stack exchange,提问作者CarloTi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:04:52