Sass学习

网站学习地址:

Sass中文网:https://www.sass.hk/docs/#t7-3

Airen的博客https://www.w3cplus.com/preprocessor/understanding-sass-list.html

Whqet前端开发的博客:https://www.cnblogs.com/whqet/p/Sassmap.html

绿叶学习网:http://www.lvyestudy.com/sass/sass_list.aspx

Sass 嵌套规则

Sass

.box{

Color:red;

.box1{

Font-size:15px;

}

}

Css

.box{

Color:red;

}

.box .box1{ //变成后代选择器

Font-size:15px;

}

父选择器&

Sass

.box{

Color:red;

&:hover{

Font-size:15px;

}

}

Css

.box{

Color:red;

}

.box:hover{ //变成父元素的hover效果

Font-size:15px;

}

属性嵌套

Sass

.box{

Color:red;

Font:{

Size:15px;

Weight:blod;

}

}

Css

.box{

Color:red;

Font-size:15px;

Font-weight:blod;

}

注释

Sass中的//注释编译在css中不存在,/**/注释编译在css中是存在的。

#{$bl} —— 可以在注释中解析出变量

$bl:“变量”;

Eg:/* 我是 #{$bl}*/  =>/*我是变量*/

变量

写法:$a:”我是变量”;$相当于js中的var

使用:

$a:10px;

.box{

Font:{

Size:$a;

}

}

结果:

.box{

Font-size:10px;

}

用途:当一个数使用的地方很广时,可以设为变量

数据类型

字符串

$a:”我是有引号的字符串”;

$b:blod;

Mixin

相当于js中的function

@mixin cs1($selector){//声明

body #{$selector}:before{

content:"hi";

}

}

@include cs1(".box1");//使用

用途:当一个方法很多地方都需要时,可以用这个创建

Eg:

平时清除浮动时的

.box:after{

Content:””;

Display:table;

Clear:both;

}

可以改为

@mixin float-after($selector){

#{$selector}:after{

Content:””;

Display:table;

Clear:both;

}

}

@include float-after(“.box”);

数组(列表)

写法:$list:(1,2,3);  $list:(1 2 3);  $list:1,2,3; $list:1 2 3 ; $list:((a,b,c),(d,e,f));

获取:

Nth($list,1)//选取list中索引为1的数(1)

Length($list)//得到list的个数

append($list,”添加一个数”)

用途:可以用于写多个值进行选取

Eg:

$list:(

(0 0 10px 20px),

(2px 1px)

)

.box{

Margin:nth($list,1);

}

Map值(object)

写法:

$obj:(

A:”你”,

B:”好”

)

获取方式:具体看https://www.cnblogs.com/whqet/p/Sassmap.html

Eg:

$obj(

Default:(

Font-size:10px;

Color:#fff;

),

one:{

Font-size:20px;

Color:#000;

}

)

运算

+ - * /

/加号可以做加法运算,也可以直接加上单位

//乘法不能带着符号相乘,只能有一边有符号

//带着符号相除后得到的结果要加上符号,或者用带符号的除以不带符号的

颜色的运算

Eg:

P{

Color:#666+#111;

}

//rgba之间运算透明度必须为一样,不一样以前面的为准。

Eg:

p{

Background:rgba(2,2,2,0.6) + rgba(3,3,5,0.6);

}

插值语句

#{$bl}

就是将一个变量插在一个地方去

Eg:

$bl:a;

P #{$bl}{

Color:red;

}

得到:

P a {

Color:red;

}

控制语句

@if @else

@if 1>5{

Color:red;

}

//如果1大于5为真,color就为red;

@mixin pd(bool){

@if bool{

Color:red

}@else{

Color:blue;}

}

@include pd(false);

得到:color:blue;

文件导入@import

@import可以将sass、css的外部文件导入到内部来,也可以导入在局部中去。

Eg:@import demo1.scss”

循环语句@for

@for逻辑和js中的for循环差不多

$list:a b c;

写法:

$list:aaa bbb ccc;

@for $i from 1 through 3 {

#{nth($list,$i)}{

color:red;

}

}

$i:相当于for(var i=0;i<10;i++)中的i

1为初始值,3为结束值

结果:

aaa {

color: red; }

bbb {

color: red; }

ccc {

color: red; }

Sass学习第一天的更多相关文章

  1. Magento学习第一课——目录结构介绍

    Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...

  2. YII2学习第一天

    YII2学习第一天,之前稍微看了看TP,感觉和自己的理念不是很符合,然后转学YII2了. 使用的文档是https://github.com/yiisoft/yii2/tree/master/docs/ ...

  3. Java学习第一天

    Java学习第一天 对于网络管理员或者黑客必须知道的八个cmd命令 详情请参考:http://www.2cto.com/os/201608/533964.html          nbtstat  ...

  4. 一、Android学习第一天——环境搭建(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第一天——环境搭建 Android 开发环境的搭建 ...

  5. web学习第一章

    web学习第一章   我是大概9月10日开始走上IT之路的,一开始学习了小段时间的自动化办公软件, 昨天我开始学习客户端网页编程,我了解什么是WEB,一些比较老古董的计算模式和发展历史,印象最让我深刻 ...

  6. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  7. swift系统学习第一章

    第一节:变量,常量,类型推断,字符,字符串 //swift学习第一节 /* 变量 常量 类型推断 字符 字符串 */ import UIKit //变量 var str = "swift&q ...

  8. (译) 强化学习 第一部分:Q-Learning 以及相关探索

    (译) 强化学习 第一部分:Q-Learning 以及相关探索 Q-Learning review: Q-Learning 的基础要点是:有一个关于环境状态S的表达式,这些状态中可能的动作 a,然后你 ...

  9. [未完成]WebService学习第一天学习笔记

    [未完成]WebService学习第一天学习笔记[未完成]WebService学习第一天学习笔记

随机推荐

  1. 安装ESXi部署OVF详细步骤

    整个安装部署过程均在个人环境进行.欧克,我们现在开始. 一.安装ESXi 1.Enter回车 2.Enter回车继续 3.F11,接受继续 4.Enter,回车继续(选择安装ESXi的设备) 5.默认 ...

  2. SQLServer之创建INSTEAD OF INSERT,UPDATE,DELETE触发器

    INSTEAD OF触发器工作原理 INSTEAD OF表示并不执行其所定义的操作INSERT,UPDATE ,DELETE,而仅是执行触发器本身,即当对表进行INSERT.UPDATE 或 DELE ...

  3. IDEA包名显示设置

    项目结构视图右上角那个齿轮 选择[Compact Empty Middle Packages],包会合并显示 [Hide Empty Middle Packages]去掉前面的√,不分层级显示

  4. linux 配置vim(vimrc)

    打开终端:ctrl+alt+t 进入vim文件:cd /etc/vim 打开vimrc文件:sudo gedit vimrc 然后在行末if语句前加上下面的内容,"  这个符号为注释,后面内 ...

  5. 【转】VUE 爬坑之旅-- 如何对公共JS,CSS进行统一管理,全局调用

    原文:https://blog.csdn.net/zgh0711/article/details/78664262 vue 中,将页面分为了各个组件,我们写好组件,就可以将这个组件运用到其他各个页面中 ...

  6. Spring Cloud:统一异常处理

    在启动应用时会发现在控制台打印的日志中出现了两个路径为 {[/error]} 的访问地址,当系统中发送异常错误时,Spring Boot 会根据请求方式分别跳转到以 JSON 格式或以界面显示的 /e ...

  7. 基于 HTML5 结合互联网+的电力接线图

    前言 “互联网+”思维让数据的搜集和获取更加便捷,并且随着大数据的深度开发和应用,数据分析预测对于提升用户体验有非常重要的价值,同时也为不同行业.不同领域的合作提供了更广阔的空间.传统的发电企业是一个 ...

  8. 跳出语句break 和continue

    关键字break 常见的两种用法 在switch语句当中,一旦执行,整个switch语句立刻结束 在循环语句当中,一旦执行,整个循环语句立刻结束.跳出循环 代码举例: public class Dem ...

  9. Python Revisited (变量)

    目录 = 浅拷贝 深拷贝` 函数的默认参数为可变类型时 危险 全局变量与临时变量 global 在函数里面进行复制 再看一个例子 numpy里的bug? 待续 @ 首先,需要指出的是,Python的变 ...

  10. 周末学习笔记——day01(函数,函数对象,嵌套调用,名称空间,作用域,闭包,装饰器)

    一,复习 字符编码 文件头:py2—ASCII,py3—UTF-8 三种字符串:u' ' b ' ' r ' ' u' ' .endcode(' utf-8 ') b' '.deconde(' utf ...