Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么要使用Sass(而不是SCSS)?_Css_960.gs_Sass - Fatal编程技术网

为什么要使用Sass(而不是SCSS)?

为什么要使用Sass(而不是SCSS)?,css,960.gs,sass,Css,960.gs,Sass,每个人——我看过最近一次关于960网格系统的演示,在倒数第二张幻灯片(101/102)上,这个家伙建议“如果你要使用Sass,请使用Sass,而不是SCSS。”既然SCSS是新的主语法,为什么要选择Sass而不是SCSS?这仅仅是一种对简洁性的偏好而不是对CSS的相似性的偏好,还是使用Sass而不是SCSS有真正的原因呢?我想不出一个好的理由:) 我看了整套幻灯片,我认为演示者(我想他也是SASS项目的相关人员?)的思维方式是使用你所知道的“完成”任务 Sass据说更短、更简洁,说话人可能对Sa

每个人——我看过最近一次关于960网格系统的演示,在倒数第二张幻灯片(101/102)上,这个家伙建议“如果你要使用Sass,请使用Sass,而不是SCSS。”既然SCSS是新的主语法,为什么要选择Sass而不是SCSS?这仅仅是一种对简洁性的偏好而不是对CSS的相似性的偏好,还是使用Sass而不是SCSS有真正的原因呢?

我想不出一个好的理由:)

我看了整套幻灯片,我认为演示者(我想他也是SASS项目的相关人员?)的思维方式是使用你所知道的“完成”任务

Sass据说更短、更简洁,说话人可能对Sass了如指掌,但从个人阅读和编写CSS超过10年的经验来看,我发现SCSS更直观。我不必学习Sass缩进规则,SCSS和CSS中的括号为嵌套提供了视觉缩进线索,这与大多数其他语言的使用非常相似,因此任何有编程/编码背景的人都会熟悉关闭嵌套的想法

。。更重要的是,每一个有效的CSS都已经是一个有效的SCS,因此不需要转换就可以开始使用它-例如,我能够在很短的时间内获取我的Drupal工作表(全部29张!),更改它们的扩展名并重新编译/压缩它们。。从那时起,我就可以一次取一小块,然后用嵌套等方式“时髦”它。我仍然喜欢看到括号和分号,这不重要,反正编译完成后你会用它们

IMHO Sass本身对于大型项目(现有项目,即非从头开始建造/Sass)来说是太高的进入壁垒,因为它可以与SCS模块化

因此,为了遵循原作者(幻灯片)的想法,而不是争论正反两方面,我将继续使用我所知道的一个TYVM:)

正反两方面: 它更干净。减少视觉噪音。更优雅

缺点: 最大的问题是:不能使用换行符。这是我唯一不喜欢SASS的地方。见下面的例子。 其余的:对于那些与明显困难的缩进概念作斗争的人来说,进入门槛更高

在SASS中,你必须遵守规则。所以如果你有

@function -create-gradient-from-color($bgcolor:#000,$depth:6%)
    ...code...
那你就不能这么做,我觉得这样更干净

@function -create-gradient-from-color(
    $bgcolor:     #000,
    $depth:       6%
)
    ...code...
由于换行符,这将抛出一个错误

但是您可以在SCS中这样做,因为它不关心换行符

@function -create-gradient-from-color(
    $bgcolor:     #000,
    $depth:       6%
) {
    ...code...
}

因此,我发现自己在可选参数字符串中保持简洁,以防止出现这种情况。

我发现SASS的键入速度要快得多

SASS和SCSS都是CSS的一个巨大的附加组件-如此不同,我不想将它们与标准CSS混淆


学习SASS并不难-去掉括号,使用制表符来决定嵌套。

我认为括号中的
.scss
语法目前是默认语法,只是因为它对于从较少且普通的CSS切换到SASS的新手来说更为熟悉

缩进的
.sass
语法是sass中的第一个语法,与相同(并构成一个最终的团队)。新的括号内的
.scss
语法与SASS的竞争对手LESS类似,SASS和LESS都可以通过重命名从CSS转换

缩进的
.sass
语法只有一个缺点
:它不允许将函数/mixin参数拆分为多行。这会使代码更难阅读()

在实践中,这个问题很少见,可能表明代码设计得很糟糕,需要重构

缩进的
.sass
语法唯一但决定性的优点是
更简洁、更容易理解,同时具有同样的表达力和强大的功能

我已经为你制作了一个动画来考虑差异:

另外,当你的代码由于分号丢失而无法工作/编译时(可能是解释器/编译器产生了误导性的错误消息),你不是很讨厌吗

基本上,缩进的
.sass
语法只是去除了大量的视觉噪音。


当然,这需要一些时间来适应。一开始,对任何有CSS或更少CSS经验的人来说,它看起来都是陌生的。但是,一旦你习惯了一点,你会发现自己对CSS/LESS/SCSS和JavaScript的括号语法感到厌恶,并且更喜欢SASS、HAML、CoffeeScript和Python/Ruby的干净语法。

所有这些都是好的方面——然而,有一个工具:css2sass可以将任何样式表转换为有效的SASS格式。它的工作原理与将.css重命名为.scss一样,也就是说,它可以工作,但需要优化以充分利用SASS/scss。感谢您的动画!它真的帮助了我,因为搜索sass语法让我来到了这里。所有其他结果都是用户scss语法,我找不到if的文档。他们使用+而不是“@include”,并坚持使用“@if”,不一致的imho!