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. 利用ZYNQ SOC快速打开算法验证通路(1)——MATLAB浮点数与定点二进制补码互转

    最近本人一直在学习ZYNQ SOC的使用,目的是应对科研需要,做出通用的算法验证平台.大概思想是:ZYNQ PS端负责与MATLAB等上位机数据分析与可视化软件交互:既可传输数据,也能通过上位机配置更 ...

  2. spring3:多数据源配置使用

    0. properties ####################################mysql########################################### d ...

  3. 如何设置Oracle数据库客户端字符集以及系统中的NLS_LANG环境变量

    概述: 本地化是系统或软件运行的语言和文化环境.设置NLS_LANG环境参数是规定Oracle数据库软件本地化行为最简单的方式. NLS_LANG参数不但指定了客户端应用程序和Oracle数据库所使用 ...

  4. C语言简单实现链栈基本几个功能

            接着上一次的顺序栈,今天我记一下链栈,因为我也是刚学不久,有些地方也稍稍理解不了,所以,一起共勉.我会用我自己结合教材上画的图,争取跟代码一起结合,用文字和图最大化的解释代码,这样的话 ...

  5. Redis操作hash

    来自:http://www.cnblogs.com/alex3714/articles/6217453.html Hash操作 hash表现形式上有些像pyhton中的dict,可以存储一组关联性较强 ...

  6. 基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)

    基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)   前言 前几天对Apollo配置中心的demo进行一个部署试用,现公司已决定使用,这两天进行分布式部署的时候 ...

  7. loadrunner使用https请求

    1:使用函数 web_set_sockets_option:设置套接字的函数 例如:web_set_sockets_option("SSL_VERSION","TLS&q ...

  8. 【Topcoder 10689】TheSoccerDivOne

    题意:给\(n\)个队伍的积分,它们要踢足球,每个队伍剩下4场没有踢. 问踢完后\(0\)队伍最高排名. 思路:首先想了贪心,可惜不对. 那么老实dp. 首先:每个队伍具体和哪个人踢了没有关系. 那么 ...

  9. 怎么在Vue的某个组件中根据组件tag标签名获取到对应的VueComponent实例呢

    1.以前玩omi框架的时候,有Omi.get方法来获取实例, ...好久没玩了,忘了.反正很喜欢该方法.2.如今想在vue里面怎么能够快速获取到对应组件标签名的的实例呢?3.文档也看过,似乎脑海中没啥 ...

  10. printf 函数原型

    typedef char *va_list; #define _AUPBND (sizeof (acpi_native_int) - 1) #define _ADNBND (sizeof (acpi_ ...