Sass 混合使用 class 名称作为变量和 :lang()
Sass mixin with class name as variable and :lang()
我正在尝试创建 mixin。像这样
@mixin localesRule($class, $cssProp, $value) {
.#{$class:lang(pt)}, //...other locales {
$cssProp: $value;
}
}
但是出现错误...有人可以帮助我吗?可以这样做吗?
@mixin localesRule($class, $cssProp, $value) {
#{$class}:lang(pt), #{$class}:lang(pl), #{$class}:lang(sk), #{$class}:lang(mx), #{$class}:lang(pt-BR) {
#{$cssProp}: $value;
}
}
.foo {
&-button {
@include localesRule('&', padding-right, 0);
}
}
输出:
.foo-button:lang(pt), .foo-button:lang(pl), .foo-button:lang(sk), .foo-button:lang(mx), .foo-button:lang(pt-BR) {
padding-right: 0;
}
不知道您到底期望什么,这里有一些 SCSS 中的基本示例。假设您有这样的 class。
.login {}
现在创建一个你想在 class 中使用的 mixin。
@mixin main-button($parent-selector, $property, $selector, $size-value) {
#{$parent-selector}__img {
width: 100px;
#{$property}: left;
}
#{$selector} {
background: none;
}
&__button {
font-size: $size-value;
};
}
使用 class 中的 mixin。
.login {
@include main-button(&, float, "text", 14px);
}
输出应该是这样的。
.login {
.login__img {
width: 100px;
float: left;
}
.text {
background: none;
}
.login__button {
font-size: 14px;
}
}
我正在尝试创建 mixin。像这样
@mixin localesRule($class, $cssProp, $value) {
.#{$class:lang(pt)}, //...other locales {
$cssProp: $value;
}
}
但是出现错误...有人可以帮助我吗?可以这样做吗?
@mixin localesRule($class, $cssProp, $value) {
#{$class}:lang(pt), #{$class}:lang(pl), #{$class}:lang(sk), #{$class}:lang(mx), #{$class}:lang(pt-BR) {
#{$cssProp}: $value;
}
}
.foo {
&-button {
@include localesRule('&', padding-right, 0);
}
}
输出:
.foo-button:lang(pt), .foo-button:lang(pl), .foo-button:lang(sk), .foo-button:lang(mx), .foo-button:lang(pt-BR) {
padding-right: 0;
}
不知道您到底期望什么,这里有一些 SCSS 中的基本示例。假设您有这样的 class。
.login {}
现在创建一个你想在 class 中使用的 mixin。
@mixin main-button($parent-selector, $property, $selector, $size-value) {
#{$parent-selector}__img {
width: 100px;
#{$property}: left;
}
#{$selector} {
background: none;
}
&__button {
font-size: $size-value;
};
}
使用 class 中的 mixin。
.login {
@include main-button(&, float, "text", 14px);
}
输出应该是这样的。
.login {
.login__img {
width: 100px;
float: left;
}
.text {
background: none;
}
.login__button {
font-size: 14px;
}
}