安装

  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. Ubuntu 编译 LAMP

    下载apache源码 http://httpd.apache.org/ 解压缩apache安装包,进入apache文件夹. 安装: apache2.2.9./configure --prefix=/u ...

  2. Flask - 闪现flash

    1. 像snap一样阅后即焚,在服务器端临时存储数据的地方,如显示错误信息.(也可以用session实现) 2. Flash的底层是session做的,所以要secret_key.可以看源码 3. f ...

  3. 寒假所做事情日志-Office重新激活

    日期:2020.01.18 博客期:127 星期六 好吧,今天出了一趟远门,将近傍晚才回来.任务目标其实相当于什么也没做,但回来发现Office居然过期了,老师给的那些文件居然无法修改了,于是乎剩下的 ...

  4. Eclipse之Cannot open Eclipse Marketplace

    今天给eclipse安装插件的时候出现各种cannot connect to...的问题, 想打开eclipse marketplace来安装插件出现Cannot open Eclipse Marke ...

  5. 2020 NUC 19级第一次训练赛

    感染(low) Description n户人家住在一条直线上,从左往右依次编号为1,2,...,n.起初,有m户人家感染了COVID-19,而接下来的每天感染的人家都会感染他家左右两家的人,问t天后 ...

  6. ZCGL大数据项目优化组件布置

    1.经JMeter并发性能测试,每个HBaseService服务的并发请求上限大概是1K,为了支持5W个并发请求量,需要增加部署节点,相应需要增加部署路由网管Zuul,为了隐藏多个路由网管Zuul的I ...

  7. swift4之String与NSString的区别与使用

    String是结构体,NSString是类,这是它们的根本区别. 在 Swift 中,结构体struct是值类型,String是结构体,所以也是值类型.值类型被赋予给一个变量.常量或者被传递给一个函数 ...

  8. Eclipse 导入 Tomcat 源码

    我的环境:Win10,Eclipse 4.8.0 Photon,JDK 10.0.2   1.下载Tomcat源码 我下载的是:apache-tomcat-9.0.12-src.zip 下载地址:ht ...

  9. 095、Java中String类之不自动保存对象池操作

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

  10. php 投票系统

    1.投票主界面(问题界面) <?php$db = new Mysqli("localhost","root","root"," ...