gpt4 book ai didi

css - Sass mixin 应用于类

转载 作者:太空宇宙 更新时间:2023-11-04 14:55:12 26 4
gpt4 key购买 nike

以下 Sass:

@mixin colourCount
.one
background: rgba(0, 160, 0, 0.5)
.two
background: rgba(255, 255, 0, 0.6)

.count
@include colourCount

.cost
@include colourCount

生成 CSS:

.count .one {
background: rgba(0, 160, 0, 0.5);
}
.count .two {
background: rgba(255, 255, 0, 0.6);
}

.cost .one {
background: rgba(0, 160, 0, 0.5);
}
.cost .two {
background: rgba(255, 255, 0, 0.6);
}

Sass 是否可以重用 mixin 来生成,请注意 .cost.one 之间没有空格:

.count .one {
background: rgba(0, 160, 0, 0.5);
}
.count .two {
background: rgba(255, 255, 0, 0.6);
}

.cost.one {
background: rgba(0, 160, 0, 0.5);
}
.cost.two {
background: rgba(255, 255, 0, 0.6);
}

类似于:

.cost @include colourCount

会很棒,但显然行不通。这可能吗?

最佳答案

你不可能有一个 mixin 可以同时做这两件事,不。生成第二组代码所需的 mixin 如下所示:

@mixin colourCount {
&.one {
background: rgba(0, 160, 0, 0.5)
}
&.two {
background: rgba(255, 255, 0, 0.6)
}
}

实际上,无论如何您都希望为此目的使用@extend

%colours {
&.one {
background: rgba(0, 160, 0, 0.5)
}
&.two {
background: rgba(255, 255, 0, 0.6)
}
}

.foo {
@extend %colours;
}

.bar {
.one {
@extend %colours.one;
}

.two {
@extend %colours.two;
}
}

生成:

.one.foo, .bar .one {
background: rgba(0, 160, 0, 0.5);
}
.two.foo, .bar .two {
background: rgba(255, 255, 0, 0.6);
}

关于css - Sass mixin 应用于类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17033761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com