安装

  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. 115、Java中String类之使用concat进行字符串连接

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

  2. SpringBoot nohup启动

    #!/bin/sh nohup java -jar /data/wwwroot/xxx.jar > /data/wwwlogs/xxx.log >&

  3. mathematica练习程序(第一章 Mathematica的基本量)

    虽然过去有用Mathematica解过一些问题,不过对这个语言并没有系统学习过. 所以最近想重新把Mathematica系统的学一遍. 偶然在B站上找到了这样一组教程:https://www.bili ...

  4. 使用U盘安装Linux最美桌面发行版Elementary OS 及常用开发环境配置(JDK,Redis,MySQL,Docker,IDEA,STS)

    前言 假期在家无聊,刚好把六年前的一台笔记本电脑利用起来,原来电脑虽然说配置说不上古董机器,但是运行win系统感觉还是不流畅,所幸给换成Linux桌面版系统,在网上查阅了很多,Linux桌面系统要么推 ...

  5. scrapy 实现mysql 数据保存

    开始用scrapy 爬取数据的时候  开始用同步操作始终会报1064  的错误  因为 mysql 语法和导入的字段不兼容 尝试了  n  次之后  开始用  异步爬取  虽然一路报错 但是还是能把数 ...

  6. formatTime() 时间戳,返回数据是计算距离现在的时间

    const formatTime=function(tiem) {//时间转换   const timestamp = Date.now();   return function (tiem) {   ...

  7. 深入理解python(二)python基础知识之数据结构

    数据结构 Python中的内置数据结构(Built-in Data Structure):列表list.元组tuple.字典dict.集合set,这里只着重说前三个 >>> d=di ...

  8. SpringBoot整合MyBatis获得插入数据后获取主键,返回值总是1

    xml里的写法 <insert id="insertLogin" parameterType="com.xyt.p2p.pojo.LoginInfo" k ...

  9. 小程序行内元素且有border的情况下,根据文字宽度自动调节元素宽度

    比如认识成都: <view style="display: flex;align-items: center;"> <text class="cityV ...

  10. java string常用的占位符形式

        自己在这里总结了三种占位符形式:看下面代码即可 String stringFormat  = "lexical error at position %s, encountered % ...