Css 多行上的SASS缩进语法?

Css 多行上的SASS缩进语法?,css,sass,Css,Sass,我喜欢Sass(与SCSS相反,SCSS不区分空格,使用括号和分号)。我觉得它干净多了 我有一个问题。如果我有一条很长的线,就没有办法把它分成多行(例如,遵守80个字符的限制) 以这个非常长的mixin声明为例,它首先是用SCSS编写的 @mixin col($cols, $mleft: 0, $mright: 0, $include-margin: false, $border: 0, $pleft: 0, $pright: 0, $include-padding: tr

我喜欢Sass(与SCSS相反,SCSS不区分空格,使用括号和分号)。我觉得它干净多了

我有一个问题。如果我有一条很长的线,就没有办法把它分成多行(例如,遵守80个字符的限制)

以这个非常长的mixin声明为例,它首先是用SCSS编写的

@mixin col($cols, $mleft: 0, $mright: 0, $include-margin: false, $border: 0,
           $pleft: 0, $pright: 0, $include-padding: true, $extra: 0, 
           $clear: false, $lead: true, $container: false) {
    color: red;
    display: block;
}
我可以将一个长声明分成多行。对于缩进语法,我认为没有办法。我必须把声明放在一行,这样可读性就差多了

@mixin col($cols, $mleft: 0, $mright: 0, $include-margin: false, $border: 0, $pleft: 0, $pright: 0, $include-padding: true, $extra: 0, $clear: false, $lead: true, $container: false)
    color: red
    display: block

有什么我不知道的方法吗(

sass不支持多行。读取文档时,当涉及多个css选择器时,有一个例外,如本例中所示:

.users #userTab,
.posts #postTab
  width: 100px
  height: 30px
请在此处阅读文档:

因此,遗憾的是:在sass中不可能获得参数列表的多行支持。

首先:不要创建包含这么多参数的混合。将其划分为许多小混合,或者插入一些类似的参数作为数组(sass有数据映射)

第二:您可以使用临时变量,只是为了使大型代码可读

例如:

=mixin($argument)
    body::before
        content: $argument
$v1: 'foo-'
$v2: 'bar-'
$v3: 'baz.'
$var: $v1+$v2+$v3
+mixin($var)
这将使您将所有
$v#
字符串合并到一个
$var

body::before {
    content: 'foo-bar-baz';
}

如果有人知道用缩进Sass语法将多个字符串连接成一个字符串的更好方法,我会很高兴知道。因为我用它编写了复杂的渐变和内联生成的SVG。

标记为重复,但它有一个更好的答案。总结一下:Sass中没有多行,但SCS中有多行。另请参阅。来自be的用户ware:与手写笔不同,第1行确实需要一个尾随逗号,否则会出现无声故障(又名:无用的一行)。这个答案真的值得更多的零更新!一般来说,如果行太长,只需在帮助下将部分内容存储到变量中即可。