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

如何用Sass编写多类下相同标签的样式代码?

Sass实现多类下<p>标签统一样式的正确写法

需求说明

要为多个不同父类下的<p>标签设置统一样式,对应的普通CSS写法如下:

.vimcash__navbar-links_container p, 
.vimcash__navbar-sign p,
.vimcash__navbar-menu_container p {
    color: #fff;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 18px;
    line-height: 25px;
    text-transform: capitalize;

    margin: 0 1rem;
    cursor: pointer;
}

错误写法问题

你尝试的写法是后代嵌套选择器,只会匹配.enterprise__navbar-links_container内部的.enterprise__navbar-menu-container里的<p>,无法实现多个独立父类下的<p>共享样式:

.enterprise__navbar-links_container{
& .enterprise__navbar-menu-container {
        p {
        color: #333333;
        font-family: var(--font-family);
        font-weight: 500;
        font-size: 20px;
        line-height: 23px;
        text-transform: capitalize;

        margin: 0 1rem;
        cursor: pointer;
    }
  }
}

正确的Sass写法

写法一:嵌套并列父选择器(最简洁)

直接把所有父类放在一个选择器组里,嵌套<p>的样式,编译后会自动生成你需要的多逗号分隔CSS:

.vimcash__navbar-links_container,
.vimcash__navbar-sign,
.vimcash__navbar-menu_container {
    p {
        color: #fff;
        font-family: var(--font-family);
        font-weight: 500;
        font-size: 18px;
        line-height: 25px;
        text-transform: capitalize;

        margin: 0 1rem;
        cursor: pointer;
    }
}

写法二:用占位符+@extend(适合样式复用)

定义一个不会编译成独立CSS的占位符,让多个选择器继承它的样式,适合多处复用同一套样式的场景:

%navbar-p-shared-style {
    color: #fff;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 18px;
    line-height: 25px;
    text-transform: capitalize;

    margin: 0 1rem;
    cursor: pointer;
}

.vimcash__navbar-links_container p,
.vimcash__navbar-sign p,
.vimcash__navbar-menu_container p {
    @extend %navbar-p-shared-style;
}

写法三:用混合宏@mixin(支持参数调整)

如果需要给不同父类下的<p>微调样式(比如不同颜色),用带参数的混合宏更灵活:

@mixin navbar-p-style($color: #fff) {
    color: $color;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 18px;
    line-height: 25px;
    text-transform: capitalize;

    margin: 0 1rem;
    cursor: pointer;
}

.vimcash__navbar-links_container p {
    @include navbar-p-style();
}
.vimcash__navbar-sign p {
    @include navbar-p-style(#eee); // 可传递参数修改样式
}
.vimcash__navbar-menu_container p {
    @include navbar-p-style();
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:15:39