sass简介_动力节点Java学院整理

所属分类: 网页制作 / CSS 阅读数: 1003
收藏 0 赞 0 分享

Sass 是什么?

Sass 是Syntactically Awesome Stylesheete Sass的缩写,是由Hampton Catlin开发的。

Sass可以简化你的Css工作流,并可以使你的Css的扩展和维护工作变的更加容易!

例如,曾几时何,因为客户的需求的变更,你必须不断的通过查找和替换来更改一个像素值,或者,为了能够确定多栏布局中某一栏的宽度,你需要使用计算像素值软件才能搞定。

Sass引入了一些新的概念如,变量,混合,嵌套和选择器继承。

Sass看起来似乎和css很像,但它没有分号和大括号。

以下是css的表示:

#skyscraper_ad
{
  display: block;
  width: 120px;
  height: 600px; 
}

#leaderboard_ad 
{
  display: block;
  width: 728px;
  height: 90px; 
}

在sass中将会这样写:

#skyscraper_ad
  display: block
  width: 120px
  height: 600px

#leaderboard_ad 
  display: block
  width: 728px
  height: 90px

Sass用两个空格缩进来定义代码的嵌套。

通过以上的展示,你已经了解了Sass怎么书写,接下来看一下一些让sass变的如此神奇的一些东西。

变量

$red: #FF4848

在Sass中,可以使用像darken和lighten函数来修改变量值。

在下面的例子中,p标签中的red将会比h1中的red更深。

$red: #FF4848
$fontsize: 12px
h1
  color: $red

p
  color: darken($red, 10%)

你能够运用‘加’或‘减’操作符来对相同类型的变量进行运算,如果我们想要手动的轻微的加深一个颜色值,可以通过'-'来减去#101,同样我们可以通过‘+’来将字体值增大10px。

p.addition_and_subtraction
  color: $red - #101
  font-size: $fontsize + 10px

嵌套

嵌套可以分为两种类型:

选择器嵌套

选择器嵌套是第一种类型嵌套。
sass中的嵌套和html中的嵌套是相似的。

$fontsize: 12px

.speaker
  .name
    font:
      weight: bold
      size: $fontsize + 10px
  .position
    font:
      size: $fontsize

如果你看一下编译后生成的css,你将会看见嵌套的.speaker类下的.name类生成的css选择器:.speaker .name。

.speaker .name {
  font-weight: bold;
  font-size: 22px; }
.speaker .position {
  font-size: 12px; }

属性嵌套

“属性嵌套”是第二种类型的嵌套。
你可以嵌套带有相同前缀的属性。

$fontsize: 12px

.speaker
  .name
    font:
      weight: bold
      size: $fontsize + 10px
  .position
    font:
      size: $fontsize

从以上的例子中可以看出,我们让font:另起一行,并且给了两个空格的缩进,然后,就可以设置原来带连字符的属性了。
所以当我们以上面的格式书写font的属性weight时,这种格式会自动生成css属性font-weight:

.speaker .name {
  font-weight: bold;
  font-size: 22px; }
.speaker .position {
  font-size: 12px; }

所有带连字符的选择器都支持以上格式。

像这种类型的嵌套对于你组织和结构化你的css是一种神奇的方法,同时,它还可以减少没有必要的代码重复。

混合

混合是另一种让人着迷的Sass特性。

混合能够使你重用一整段Sass代码,你甚至能够给他们传递参数,同时,你还能够确定默认的值,这也是十分酷的!

定义一个混合,需要用到@mixin关键字,后面跟上你为混合选择的名字。如果你需要一些参数,在名字后面,添加一对括号,并在括号中定义你的参数变量。如果你需要默认值,可以再参数后面添加冒号和你想要的默认值。

使用混合是容易的,通过调用@includSass关键字,后面跟着混合名和用括号包含的参数值。

下面是例子:

@mixin border-radius($amount: 5px)
  -moz-border-radius: $amount
  -webkit-border-radius: $amount
  border-radius: $amount

h1
  @include border-radius(2px)

.speaker
  @include border-radius

上面的Sass将会编译生成如下的css:

h1 {
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2x; }

.speaker {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

在以上例子中,我们给h1中的radius中设定了值,而.speakr中,因为没有设定值,所以radius中的值为默认值。
We specified the radius inh1, but for the.speakerwe didn’t specify anything, therefore the default of5pxis used.

选择器继承

选择器继承能够让你实现选择器可以继承其他选择器中的所有样式,这也是让人欲罢不能的!
为了能够实现它,需要使用@extend关键字,后面跟着你想要继承的选择器,这样,想要继承的选择器中的样式都会在被继承选择器中实现。

h1
  border: 4px solid #ff9aa9

.speaker
  @extend h1
  border-width: 2px

上面的将会编译为如下的css

h1, .speaker {
  border: 4px solid #ff9aa9; }

.speaker {
  border-width: 2px; }

尝试一下sass

通过在线的方式尝试一下

你能体验Sass通过try Sass online,不需要将Sass安装在你本地电脑。
在编译以前,你需要选择底部的缩进语法。

安装使用

Sass是一个Ruby gem,假如以前你的机子中装有Ruby gem,很容易在机子中安装Sass。
Sass 能被用作为一个命令行工具,将你的Sass文件编译成css文件。
你能做这个通过定义Sass类型——监控
sass_文件夹:样式列表_文件夹中包含着sass文件夹和样式列表文件夹,sass文件夹中包含的sass文件后缀名必须为.sass,样式列表文件夹中包含的是你的输出文件夹。监控选项的选择意味着如果你对文件作任何改变,一旦你保存他们,文件将会自动转变。

将css转变为Sass

你开始在现有的项目中使用Sass通过使用sass转化。
进入你的电脑,打开你想要转化的文件夹,选择-convert-from-css-to sass.-R意味着递归,.意味着当前的目录。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

CSS伪类对象before和after的用法实例详解

这两个伪类对象只有在清楚浮动clearfix的时候会用到哈,最近在研究css3的时候觉得它两个的搭配不仅能够减少代码量并且能整出很巴适的效果
收藏 0 赞 0 分享

CSS3 实用技巧:实现黑白图像效果示例代码

本文为大家详细介绍下CSS3实现黑白图像效果的具体思路及代码,感兴趣的朋友可以看下截图,希望对大家有所帮助
收藏 0 赞 0 分享

IE.JS解决IE兼容性问题方法汇总

正如标题所言它修复了许多的HTML和CSS问题,并使得透明PNG在IE5、IE6下正确显示,下面为大家介绍下具体针对不同浏览器的调用方法,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享

实现CSS3中的border-radius(边框圆角)示例代码

本文为大家详细介绍下如何实现CSS3中的border-radius(圆角),具体代码如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
收藏 0 赞 0 分享

CSS line-height行高上下居中垂直居中样式属性

我们在css编写中需要对大篇幅的内容显示的更好看,有些间隔,不要在挤在一起难看,就可以使用Line-Height属性进行控制
收藏 0 赞 0 分享

CSS Float布局过程与老生常谈的三栏布局

这篇文章就是总结一下怎样使用CSS中的float属性进行布局,其实网上有很多讨论这个话题的文章了,但我觉得都没说到点子上。那就来老生常谈一次吧,CSS之Float布局
收藏 0 赞 0 分享

邮箱css加载失败怎么办 网站css加载异常原因分析

造成css加载失败的原因有很多,脚本之家也遇到过,这可能跟你代码出错,浏览器、路径、编码等等都是有关联的。所以在具体情况具体分析。下面看看具体的方案
收藏 0 赞 0 分享

CSS控制样式的三种方式(优先级对比验证)

大家都知道,CSS的中文名叫做层叠样式表,而CSS在控制样式的时候,有三种引入方式,这里简单介绍下CSS控制样式的三种方式
收藏 0 赞 0 分享

meta http-equiv="X-UA-Compatible" content="IE=7" 意思是将IE8用IE7进行渲染

X-UA-Compatible是针对ie8新加的一个设置,对于ie8之外的浏览器是不识别的,这个区别与content=
收藏 0 赞 0 分享

Discuz7.2 IE9兼容性写法 杜工完全修补方案

因为Discuz7.2在IE9浏览器中有一系列的问题,所有要在以后的开发中考虑到ie9浏览器的一些问题了,这里简单介绍下,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多