我该如何连接(合并)Sass变量?
这是scss文件中的代码。
$url = 'siteurl.com';
#some-div{
background-image: url(+ $url +/images/img.jpg);
}
我希望CSS文件中的结果为:
#some-div{
background-image: url('siteurl.com/images/img.jpg');
}
我找到了这个问题,但是它对我没有起作用:尝试连接Sass变量和字符串
我该如何连接(合并)Sass变量?
这是scss文件中的代码。
$url = 'siteurl.com';
#some-div{
background-image: url(+ $url +/images/img.jpg);
}
我希望CSS文件中的结果为:
#some-div{
background-image: url('siteurl.com/images/img.jpg');
}
我找到了这个问题,但是它对我没有起作用:尝试连接Sass变量和字符串
这里有多个问题,正确的语法应该是
$url: 'siteurl.com';
#some-div{
background-image: url($url + '/images/img.jpg');
}
:
而不是=
$url
前面的杂散的+
符号您可以在SassMeister上看到上述代码的实际效果。
使用此代码:
$domain: 'domain.ru';
#some-div {
background-image: url('#{$domain}/images/img.jpg');
}
( #{})
实现,这样所有字符串都将变成未引用的。$basePath= 'example.com';
#some-div{
background-image: url('#{$basePath}/images/photo.jpg');
}
对于这种特定的用例,这是一种更安全的方式,因为您不希望将任何额外的引号添加到您的URL中。
$basePath
的定义中似乎包含了语法错误。 - Alex Angas=
而不是冒号:
。 - undefined一个例子:
$dot: '0.';
@for $i from 1 through 9 {
.op#{$i} {
opacity: #{$dot}#{$i};
}
}
根据逻辑,变量在$dot: '0.'
中声明,我在#{$dot}
中调用它。
上面的示例展示了SCSS中两个连接的变量。
对于任何寻找报价的人,无论是否有报价
$url: 'siteurl.com';
#some-div{
background-image: url($url + '/images/img.jpg');
}
// output with quote: "siteurl.com/images/img.jpg"
#some-div{
background-image: url(#{$url} + '/images/img.jpg');
}
// output without quote: siteurl.com/images/img.jpg
$accent-light: #{$accent}80;
(创建一个50%透明度的新颜色)。我相信#{$variable}
语法几乎可以用在任何地方,而$variable + "some string"
则不行。 - V. Rubinetti