我为什么要使用 SASS?

分享于 

9分钟阅读

Web开发

  繁體

介绍

作为一个网络开发者,人们经常遇到这种重大的难题,尽管能够knit编织代码,amazingly face代码,实际UI并不像内部结构一样。 也许这个原因不是缺乏创造性,而是"酸,留下苦苦的味道"中的一种语法,而是的语法。 有时,开发人员没有缺少"设计技巧",但是他或者她没有使用一种语言来处理"。粗糙和难以阅读"。

这就像一个"艺人"有"两种颜色"的调色板,每幅画的结果都是一个过时的结果。 然而,如果"艺人"被告知,他/她有颜色的array,他们发现或者选择是必要的;然后可以创建的是真的神奇。

对于新开发者来说,CSS的观点可能需要花一些时间才能理解。掌握甚至甚至是胃,而且在步骤SASS中。 这样,你会看到一些甜蜜的东西,让你的"web开发"体验变得更愉快,更痛苦的(。易于维护,可以重复使用)。

背景

什么是 SASS?

SASS只是一个框架或者一套工具,允许开发者以更合理的方式利用 CSS,就像"。Rails 开发人员喜欢"一样,更干的( 不要重复自己) 更为复杂。

为什么使用 SASS?

如果你现在有很多的框架,我想你几乎可以通过它,认为它是众多的技术。 为了解决这个问题,我想仅仅介绍"of"的3,这可能会给你的"开发时间和经验"提供快速改进。

SASS安装

可悲的是,来自网站的SASS没有为. NET 用户提供默认的安装。 它假定你是一个 ruby 用户,如果这样安装就像打开一个bean一样简单。

也就是:

gem install sass 

如果使用 Ruby on Rails,那么这是集成SASS的最佳方法,

gem install bootstrap-sass 

对于. NET 用户,需要另一种方法,因为你必须使用 Visual Studio的插件:

Mindscape Web工作台 ( 18mb 左右)。

对于 Sass SCSS文件,Web工作台提供:

  • 语法高亮显示
  • 智能感知
  • 语法错误的警告
  • 未知变量和mixin的警告
  • 转到变量或者mixin定义
  • CSS文件生成
  • CSS文件缩小- 版仅适用于

你的CSS文件将在与by源相同的文件夹中生成,所以HTML页面就可以在该位置引用CSS文件。

使用代码

变量

在开发任何网站时,我最喜欢达到 3种颜色,最大限度决定外观和感觉。 常常,我发现自己寻找一个主色彩,比如蓝色,浅蓝色,等等 ( 或者他们的十六进制值)。

我们可以使用变量yes是的,实际上,你可以这样做:

$gray-Dark: #474546; 

现在,当我需要引用它的时候,我们假设为 a

header {
 background-color: $gray-Dark;}footer {
 margin-top: 30px;padding-top: 5px;border-top: 1px solid $gray-Dark;background-color: $gray-Light; 
}

当然你可以改变颜色,而不是通过CSS或者大型CSS来改变所有附带标签的颜色,这当然是你的选择。 还有一个伟大的"模拟"。

但是,我想说,我想把我的脚注作为灰色的变体稍微轻一点。 我可以定义一个新的变量,如。

$gray-Light: lighten($gray-Dark, 20%);footer {
 margin-top: 30px;padding-top: 5px;border-top: 1px solid $gray-Dark;background-color: $gray-Light;}

注意格式,亮( 颜色 %change). 基本上我现在已经"暗灰色"我使用并使它为 20%打火机。 这是非常漂亮的有很多它的他功能,你应该检查( 像"的","亮度",等等 )。 到这里来。

嵌套

现在,使用 CSS,你可以做下列操作;注意 #header 从它的h1 分离,使CSS文件难以阅读。

#header {
 background-color: $gray-Dark;}
#headerh1 {
 float: left;} 

使用 SASS,'嵌套'更有趣;我们可以直接嵌套 inside 到目标( 类)。 也就是说,其父级现在可以直接嵌套在内部,因此更容易阅读。跟踪和修改它的属性。

#header {
 background-color: $gray-Dark;h1 {
 float: left; }}
鍑芥暟

你会相信是的你自己的功能。 现在我不能够表达足够的功率 behind,但是让我们用一个例子来给你一些。

#header {
 background-color: $gray-Dark;border-radius: 10px;-moz-border-radius: 10px;-webkit-border-radius: 10px;h1 {
 float: left; }}#nav-left {
 padding: 5px 12px;margin: 10px 0;border-radius: 10px;-moz-border-radius: 10px;-webkit-border-radius: 10px;}
#footer {
 border: solid 1px $gray-Dark
 border-radius: 10px;-moz-border-radius: 10px;-webkit-border-radius: 10px;}

如你所见,border-radius 重复了 3次。 对一个变更的改变需要我仔细地改变所有三个。 但这有点麻烦,没有提到额外的代码,扩展文件的大小,并降低可以读性。 通过 SASS,我可以删除这个'css'并创建一个单独的函数,我可以在所有 3个地方地址。

我们的文件头部声明了变量;我们添加了函数,或者作为SASS调用它,MIXIN

@mixin <name> {
 // CODE TO REPEAT}@mixinrounded-corners {
 border-radius: 10px;-moz-border-radius: 10px;-webkit-border-radius: 10px;}

它的实现如下所示:

#header {
 background-color: $gray-Dark; @include rounded-cornersh1 {
 float: left; }}#nav-left {
 padding: 5px 12px;margin: 10px 0; @include rounded-corners}
#footer {
 border: solid 1px $gray-Dark
 @include rounded-corners
}

但是,假设 #nav-left的圆角不同,对于 border-radius 来说,它不是 10px,对于,它应该是 8px。 SASS如何帮助我们?

除非我们还提供"参数"或者"实参",否则"函数"( MIXIN ) 不是 true 函数。 所以让我们稍微修改一下 MIXIN 以支持定制的半径。

也就是:

@mixin rounded-corners($radius) {
 border-radius: $radius;-moz-border-radius: $radius;-webkit-border-radius: $radius;} 

但是在我们实现之前,如何使用默认值是 MIXIN,但是没有指定任何半径:

@mixin rounded-corners($radius: 8px) {
 border-radius: $radius;-moz-border-radius: $radius;-webkit-border-radius: $radius;}

美丽不是它,但是让我们看看我们的实现,如果你是任何开发人员都应该已经有了:

#header {
 background-color: $gray-Dark; @include rounded-corners(10px);
 h1 {
 float: left; }}#nav-left {
 padding: 5px 12px;margin: 10px 0; @include rounded-corners(8px);
}
#footer {
 border: solid 1px $gray-Dark
 @include rounded-corners(10px);}

可以编程性不会在那里结束,同样,不会让你重载信息,而是让你理解它;SASS还支持条件状态;SASS也支持条件状态和" For Each"循环。

Points of Interest

另一种可能是考虑到网络创作过程,这是一个很简单的项目,叫做 COMPASS ( COMPASS )。 基本上这是一套高级的功能( mixin ),可以进一步改进你的开发周期。 另一种考虑它的方式是 add-on,它利用SASS来实现更强大的功能。

因为这是"预处理",你不希望继续更新你的更改,而且它具有一个"表"特性。

酷,不 !

结束语

这只是tftp的一个小提示,如果你想了解更多内容,你可以访问以下链接:


SASS  SAS  
相关文章