安装

  1. 下载ruby安装包【官网非常慢ruby官网

ruby-2.3.3-x64-mingw32.7z

  1. 下载sass

sass-3.7.4.gem

  • 方法一:

    ruby压缩包,解压即可,在bin目录下,使用命令gem install sass-3.7.4.gem安装sass

  • 方法二:

gem install sass

在idea中使用

  1. 安装File watcher插件
  2. add SCSS监听器
programm: ruby/bin/scss.bat
# --no-cache:不生成缓存文件,--sourcemap=none:不生成map文件, -t expanded输出样式
arguments:--no-cache -t expanded --sourcemap --sourcemap=none $FileName$:$FileNameWithoutExtension$.css
output path to refresh:$FileNameWithoutExtension$.css

配置参考

常见问题

  1. 中文注释报错

在scss文件开头,写入@charset "utf-8"

sass语法

sass脚本

  1. 变量
$text-color: red;  // -和_一样
p{
color: $text-color;
}
  1. 数据类型
序号 数据类型和描述 例子
1 Numbers 它表示整数类型。 2,10.5
2 Strings 它是在单引号或双引号内定义的字符序列。 'Tutorialspoint', "Tutorialspoint"
3 Colors 它用于定义颜色值。 red, #008000, rgb(25,255,204)
4 Booleans 它返回true或false布尔类型。 10 > 9 specifies true
5 Nulls 它指定空值,这是未知数据。 if(val==null) {//statements}
6 Space and Comma 表示由空格或逗号分隔的值。 1px solid #eeeeee,0 0 0 1px
7 Mapping 它从一个值映射到另一个值。 FirsyKey:frstvalue,SecondKey:secvalue
  1. 运算符
  • 数字运算符
$a-width:10px;
a{
width: $a-width - 5; // 注意运算符前后必须有空格
}
  • 颜色运算符
$color1: #333399;
$color2: #CC3399;
p{
color: $color1 + $color2; // #ff66ff;
}
  • 字符串运算符
p {
font-size: 5px + 10px; // 15px
}
  • 布尔运算符
$age:20;
.bool {
@if ($age > 10 and $age < 25) {
color: green;
}
}
  1. sass括号
p {
font-size: 5px + (6px * 2); // 17px
color:#ff0000;
}
  1. sass函数
p {
color: hsl($hue: 0, $saturation: 50%, $lightness: 50%);
}
  1. 插值
p:after {
content: "I have #{8 + 2} books on SASS!";
}
  1. &SassScript
p{
&:hover{}
}
  1. 默认值

您可以通过向变量值的结尾添加!default 标志来设置变量的默认值。如果值已经分配给变量,则不会重新分配该值。

$myval1: null;
$myval1: "Sass Developed by Natalie Weizenbaum and Chris Eppstein" !default; p:after {
content: $myval1;
}

Sass @-规则和指令

  1. @import

导sass、scss或者css,scss可以胜利后缀名。

部分是SASS或SCSS文件,它们使用下划线在名称(_partials.scss)开头写入 , 可以在SASS文件中导入部分文件名,而不使用下划线

嵌套@import

e.g.

// _test1.scss
.container
{
background: #ffff;
}
// demo.scss
h4 {
@import "test1";
}
//out
h4 .container {
background: #ffff;
}
  1. @media
.style{
width: 900px; @media screen and (orientation: portrait){
width:500px;
margin-left: 120px;
}
}
// out
.style {
width: 900px;
}
@media screen and (orientation: portrait) {
.style {
width: 500px;
margin-left: 120px;
}
}

sass控制指令和表达式

  1. if
h2{
color: if( 1 + 1 == 2 , green , red); // green
}
  1. @if
p{
@if 10 + 10 == 20 { border: 1px dotted; }
@if 7 < 2 { border: 2px solid; }
@if null { border: 3px double; }
}
@if expression {
// CSS codes
} @else if condition {
// CSS codes
} @else {
// CSS codes
}
  1. @for
  • from through
@for $i from 1 through 4 {
.p#{$i} { padding-left : $i * 10px; }
}
// .p1,.p2,.p3,.p4
  • from to
@for $i from 1 through 4 {
.p#{$i} { padding-left : $i * 10px; }
}
// .p1,.p2,.p3
  1. @each

@each $var in <list or map>

@each $color in red, green, yellow, blue {
.p_#{$color} {
background-color: #{$color};
}
}
//out
.p_red {
background-color: red; }
.p_green {
background-color: green; }
.p_yellow {
background-color: yellow; }
.p_blue {
background-color: blue; }
  • 多个值
@each $color, $border in (aqua, dotted),
(red, solid),
(green, double){
.#{$color} {
background-color : $color;
border: $border;
}
}
  • 多个分配与映射
@each $header, $color in (h1: red, h2: green, h3: blue) {
#{$header} {
color: $color;
}
}
// out
h1{color:red}
  1. @while
$i: 50;
@while $i > 0 {
.paddding-#{$i} { padding-left: 1px * $i; }
$i: $i - 10;
}
// out
.padding-50{
padding-left: 50px;
}..

函数指令

$first-width: 5px;
$second-width: 5px; @function adjust_width($n) {
@return $n * $first-width + ($n - 1) * $second-width;
} #set_width { padding-left: adjust_width(10); }

sass的安装和基础语法的更多相关文章

  1. Sass的使用和基础语法

    sass安装 官网下载ruby的windows安装包,安装时勾选上添加到环境变量add ruby executables to your path.安装完成后打开命令行,ruby -v输出内容则安装完 ...

  2. jQuery安装和基础语法

    1.安装 从 jquery.com 下载 jQuery 库 <script src="jquery-1.10.2.min.js"></script> 从 C ...

  3. Nginx详解二十二:Nginx深度学习篇之Lua解释器安装及基础语法

    解释器 Lua:Lua是一个简洁.轻量.可扩展的脚本语言 Nginx+Lua优势充分的结合Nginx的并发处理epoll优势的Lua的轻量实现简单的功能切高并发的场景 安装Lua 1.安装解释器:yu ...

  4. 第2天 第一个程序&IDEA安装&Java基础语法

    第一个程序 Hello,World! 随便新建一个文件夹,存放代码 新建一个Java文件 文件后缀名为java Hello.java [注意点]系统可能没有显示后缀名,必须手动打开 编写代码 publ ...

  5. Python环境安装与基础语法(2)——数据类型、标识符、语言分类

    高级语言发展 结构化语言:以顺序(步骤化),分支,循环描述问题 面向对象语言:接近人类的认知,万物抽象成对象,对象间的关系抽象成类和继承 程序=数据结果+算法 Python解释器 CPython:由C ...

  6. sass的安装与基础

    安装教程:http://www.haorooms.com/post/sass_css 手册:http://sass.bootcss.com/docs/guide/     http://www.w3c ...

  7. Python环境安装与基础语法(1)——计算机基础知识

    Python安装 pip #包管理工具 pip install #安装包 pip list #查看包 IPython #增强的python shell,自动补全,自动缩进,支持shell,增加了很多函 ...

  8. Python环境安装与基础语法(4)——内存管理、if分支

    Python内存管理 python中有自动清理内存垃圾的功能,当变量的引用计数为0,则可以被有计划的垃圾回收GC 常量会在系统中被多次引用,所以常量的引用计数无法确定 程序控制 顺序:按照先后顺序逐条 ...

  9. Python环境安装与基础语法(3)——进制、运算符和优先级、原码、补码

    进制 转十进制:基本运算方法(权算方式) 0b1111——>1*2**3 + 1*2**2 + 1*2**1 + 1*2**0 0x7F——>7*16**1 + F*16**0 转二进制: ...

随机推荐

  1. Entity Framework Migrations 数据迁移

    在使用Entity Framework 过程中,经常会遇到需要变更model 的状况,此时可以使用Migrations ,将每次变更记录以便后续更换机器或是运行在生产环境,持久层可保持一致. 在Pac ...

  2. Day11 - H - Euclid's Game HDU - 1525

    Two players, Stan and Ollie, play, starting with two natural numbers. Stan, the first player, subtra ...

  3. Ubuntu安装TTF字体

    sudo mkdir /usr/share/fonts/ttf sudo cp ~/ttf/* /usr/share/fonts/ttf cd /usr/share/fonts/ttf sudo ch ...

  4. unity渲染优化

    https://blog.csdn.net/yudianxia/article/details/79339103 https://blog.csdn.net/e295166319/article/de ...

  5. Linux中用systemctl命令管理服务

    systemctl start foo.service 启动服务systemctl restart foo.service 重启服务systemctl stop foo.service 停止服务sys ...

  6. 插入和查询HBase速度都比较慢

    表层问题:插入和查询HBase速度比较慢 排查一,查看HBase节点状态,发现正常运行: 排查二,查看访问HBase服务的状态,发现服务停止: 依次点击服务实例,查看服务状态 133和135节点上的服 ...

  7. 十六、JSONObject与JSONArray使用-不刷新页面做回写显示

    需要导入:json-lib-2.2.2-.jar包 1.json:就是一个键对应一个值,超级简单的一对一关系.对于json嵌套,只要记住符号“:”前是键,符号后是值大括号成对找. String arr ...

  8. Linux centos7 sed工具介绍

    一.sed上 grep工具功能只能实现查找,不能把查找的内容替换. sed本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行查找.删除.替换字符或字符串.调换字符串位置.直接修改文件内容等 ...

  9. 091、Java中String类之使用“==”比较

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  10. IOS switch-case知多少

    1. switch参数类型 switch参数类型要求是integer type,准确来讲,是可以转换成integer的类型, 这包括所有的C基本数据类型((signed/unsigned)char, ...