sass

2018-09-06 16:59:53 浏览数 (1)

我们大家都知道html、css不属于编程语言属于标记语言,所以很难像js一样定义变量、编写方法实现模块化,而目前的css编写模式中都是定义一些公共样式类名,那一块的html需要这个样式,就去增加对应的样式类名,所以我们经常会看到一个标签上存在很多的样式类名,在这种模式中我们需要时常关注css优先级,避免样式的重叠覆盖..

为了解决css的这一困境,css预处理预编译的思想脱颖而出,比较具有代表性的有less,sass,stylus,在传统的css基础上增加了大量的新的语法,编写方式,常用的函数等,可以让css像js一样成为一门编程语言,基于less我们可以把一些经常用到的样式定义成变量或者函数,以后有需要直接调用即可,这样不仅有利于我们的开发速度,也有利于项目的后期维护与可用性

less、sass写完之后不能直接应用到页面当中,我们需要把它编译成css,然后再拿过来使用,我们把它叫做预处理

less、sass的编译有两大类 第一类:基于node环境编译less 第二类:基于浏览器环境

less、sass是一门新的语法,不能被浏览器直接识别,只是方便我们开发用的,最终我们需要把他们编译成正常的css,浏览器识别css

Sass 是采用 Ruby 语言编写的一款 CSS 预处理语言,它诞生于2007年,是最大的成熟的 CSS 预处理语言。最初它是为了配合 HAML(一种缩进式 HTML 预编译器)而设计的,因此有着和 HTML 一样的缩进式风格。

Sass 和 SCSS 有什么区别? 1、文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名 2、语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。

sass安装 在 Windows 平台下安装 Ruby 需要先有 Ruby 安装包,大家可以到 Ruby 的官网(http://rubyinstaller.org/downloads)下载对应需要的 Ruby 版本。

当你的电脑中安装好 Ruby 之后,接下来就可以安装 Sass 了。只需要在你的命令终端输入一行命令即可。

1、通过命令安装 Sass 打开电脑的命令终端,输入下面的命令: gem install sass sass -v //查看版本是否安装成功 gem update sass//更新到最新的sass版本 gem uninstall sass//卸载sass(不要点) ws配置路径:program:C:Ruby23-x64binsass.bat

mixin

代码语言:javascript复制
@mixin alert($color:blue){
  color: $color;
}
.block{
  margin: 10px;
  padding: 20px;
  @include alert(#fff);
}

扩展继承

代码语言:javascript复制
.message {
  border: 1px solid #ccc;
  padding: 10px;
  color: #333;
}

.success {
  @extend .message;
  border-color: green;
}

运算

代码语言:javascript复制
.a{
  width: 100px 200px;
}

颜色

代码语言:javascript复制
$color1:red;
.div{
  background: darken($color1,10%);
}
代码语言:javascript复制
$padding:10px 5px 10px 5px;

.div{
  padding: $padding;
  padding-left: nth($padding,2);
}
代码语言:javascript复制
$maps:(
    color:red,
    background:blue
);
.div{
   background: map-get($maps,background);
}
代码语言:javascript复制
@at-root .con{
   //跳出嵌套
}
代码语言:javascript复制
@function  dobule($cc){
   @return $cc*2;
}
.ccc{
  width: dobule(5px);
}
代码语言:javascript复制
$aa:8;
.c{
   content: #{$aa};
}
代码语言:javascript复制
$srceen:800;
@if $srceen  > 900{
   body{
     background: yellow;
   }
}
@else {
   body{
     background: blue;
   }
}
代码语言:javascript复制
@for $i from 1 to 5{
  .span#{$i}{
     width: 20% * $i;
  }
}
代码语言:javascript复制
.#{content}{
   background: red;
}

0 人点赞