首页
学习
活动
专区
圈层
工具
发布

SCSS优化
EN

Stack Overflow用户
提问于 2016-10-08 18:22:36
回答 2查看 560关注 0票数 3

下面是我的scss代码,它给出了预期的输出。但我觉得-nrb__red__green中都重复,这看起来很脏,有没有办法简化这一点?

代码语言:javascript
复制
$cell-header: '.cell-header';
#{$cell-header} {
    &__red {
        @extend .ui-grid-column-menu-button;
        color: $red-cell-color;
        background-color: $red-cell-bgcolor;
        border: solid 1px $red-cell-color;

        // no right border
        &-nrb{
            @extend .cell-header__red;
            border-right: none;
        }
    }

    &__green {
        @extend .ui-grid-column-menu-button;
        color: $green-cell-color;
        background-color: $green-cell-bgcolor;
        border: solid 1px $green-cell-color;

        // no right border
        &-nrb{
            @extend .cell-header__green;
            border-right: none;
        }
    }
}

另外,扩展底层类的正确方式是什么?现在,我已经在-nrb@extend中硬编码了类名,一些关键字,比如this

EN

回答 2

Stack Overflow用户

发布于 2016-10-08 18:34:51

您可以对redgreen进行分组

代码语言:javascript
复制
$cell-header: '.cell-header';
#{$cell-header} {
    &__red {
        color: $red-cell-color;
        background-color: $red-cell-bgcolor;
        border: solid 1px $red-cell-color;
    }

    &__green {
        color: $green-cell-color;
        background-color: $green-cell-bgcolor;
        border: solid 1px $green-cell-color;
    }

    &__red, &__green{
        @extend .ui-grid-column-menu-button;

        // no right border
        &-nrb{
            @extend .cell-header__green;
            border-right: none;
        }
    }
}
票数 0
EN

Stack Overflow用户

发布于 2016-10-08 23:21:33

我猜你可以像这样做$cell-header:'.cell-header';@mixin headermixin ($cell-color,$cell-bgcolor) {@ext.ui-grid-column-menu-button;color:$cell-color;grid color:$cell-bgcolor;border: solid 1px $cell-color;

代码语言:javascript
复制
}

#{$cell-header} {
    &__red {
        @include headermixin($red-cell-color,$red-cell-bgcolor,.cell-header__red)
    &-nrb{
          @extend .cell-header__red;
            border-right: none;
    }


    }

    &__green {
         @include headermixin($green-cell-color,$green-cell-bgcolor,.cell-header__green)
     &-nrb{
         @extend $cell-header__green
            border-right: none;
    }

    }
}

希望这能有所帮助

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39931224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档