使用转义字符将值从 mixin 传递到 class
Passing value from a mixin to a class, using escaped characters
我有一个地图生成器,它添加了一个 post 粒子:
@mixin generator {
@each $key, $value in $config {
$infix: '\@#{$key}' !global;
@content
}
}
我在多种情况下使用上面的 mixin 在末尾添加粒子,例如:
.y- {
@include generator {
&-n#{$infix} {
display: none !important;
}
&-in#{$infix} {
display: inline !important;
}
}
}
我收到以下错误:
Invalid CSS after "&-none": expected selector, was "@"\n
我想要的是:
.y-n@key_name1{
display: none !important;
}
.y-n@key_name2{
display: none !important;
}
只有当我使用 \@
时才会出现。
我可以在创建 class 时添加这个粒子,但正如我所说,我想在多种情况下使用它并根据条件改变粒子,所以我需要混合。
所以这有效...
$config: (
1: 'a',
2: 'b',
3: 'c'
);
@mixin generator {
@each $key, $value in $config {
$infix: '-#{$key}' !global;
@content
}
}
.y- {
@include generator {
&-n#{$infix} {
display: none !important;
}
&-in#{$infix} {
display: inline !important;
}
}
}
看到这个sass大师https://www.sassmeister.com/gist/324c3c0003a91eb676b00dfe1877cae0
但是一旦你添加..
\@
..到你的 $infix
变量键字符串,它会抛出一个错误!
$infix: '\@#{$key}' !global;
我认为是 \@
破坏了您的 sass/css。
如果您看到 What is the purpose of the '@' symbol in CSS? 问题,您只能将 @
符号用于(示例)...
/* Import another stylesheet from within a stylesheet */
@import url(style2.css);
/* Apply this style only for printing */
@media print {
body {
color: #000;
background: #fff;
}
}
/* Embed a custom web font */
@font-face {
font-family: 'DejaVu Sans';
src: local('DejaVu Sans Regular'), url(/fonts/DejaVuSans.ttf);
}
也许放弃 \@
你的 sass 会 运行 好吗?
我有一个地图生成器,它添加了一个 post 粒子:
@mixin generator {
@each $key, $value in $config {
$infix: '\@#{$key}' !global;
@content
}
}
我在多种情况下使用上面的 mixin 在末尾添加粒子,例如:
.y- {
@include generator {
&-n#{$infix} {
display: none !important;
}
&-in#{$infix} {
display: inline !important;
}
}
}
我收到以下错误:
Invalid CSS after "&-none": expected selector, was "@"\n
我想要的是:
.y-n@key_name1{
display: none !important;
}
.y-n@key_name2{
display: none !important;
}
只有当我使用 \@
时才会出现。
我可以在创建 class 时添加这个粒子,但正如我所说,我想在多种情况下使用它并根据条件改变粒子,所以我需要混合。
所以这有效...
$config: (
1: 'a',
2: 'b',
3: 'c'
);
@mixin generator {
@each $key, $value in $config {
$infix: '-#{$key}' !global;
@content
}
}
.y- {
@include generator {
&-n#{$infix} {
display: none !important;
}
&-in#{$infix} {
display: inline !important;
}
}
}
看到这个sass大师https://www.sassmeister.com/gist/324c3c0003a91eb676b00dfe1877cae0
但是一旦你添加..
\@
..到你的 $infix
变量键字符串,它会抛出一个错误!
$infix: '\@#{$key}' !global;
我认为是 \@
破坏了您的 sass/css。
如果您看到 What is the purpose of the '@' symbol in CSS? 问题,您只能将 @
符号用于(示例)...
/* Import another stylesheet from within a stylesheet */
@import url(style2.css);
/* Apply this style only for printing */
@media print {
body {
color: #000;
background: #fff;
}
}
/* Embed a custom web font */
@font-face {
font-family: 'DejaVu Sans';
src: local('DejaVu Sans Regular'), url(/fonts/DejaVuSans.ttf);
}
也许放弃 \@
你的 sass 会 运行 好吗?