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. js 学习之路6: if...else...条件语句的使用

    1.1 if (...) { ... } else { ... } <!DOCTYPE html> <html> <meta http-equiv="Conte ...

  2. python import详解

    1.import作用 引入模块 2.import的特点 一个程序中,import的模块不会重复被引用,如: # test1.py import test2 print test2.attr # tes ...

  3. Python爬虫【解析库之beautifulsoup】

    解析库的安装 pip3 install beautifulsoup4 初始化 BeautifulSoup(str,"解析库") from bs4 import BeautifulS ...

  4. sbt安裝與配置

    官方下載地址:https://www.scala-sbt.org/download.html?spm=a2c4e.11153940.blogcont238365.9.42d147e0iF8dhv 解压 ...

  5. Ambari——大数据平台的搭建利器之进阶篇

    前言 本文适合已经初步了解 Ambari 的读者.对 Ambari 的基础知识,以及 Ambari 的安装步骤还不清楚的读者,可以先阅读基础篇文章<Ambari——大数据平台的搭建利器>. ...

  6. HTML5仿手机微信聊天界面

    HTML5仿手机微信聊天界面 这篇文章主要为大家详细介绍了HTML5仿手机微信聊天界面的关键代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下     给大家带来的是HTML5仿手机微信聊天界面, ...

  7. 使用Mycat构建MySQL读写分离、主从复制、主从高可用

    数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能. 从数据库的角度来说,对于大多数应用来说,从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,即S ...

  8. js正则表达式——数字校验

    // 只能输入正数 function clearNoNum(obj) { // 只能输入数字和小数点的文本框, 只能输入小数点后两位 obj.value = obj.value.replace(/[^ ...

  9. SpringCloud(2)服务消费者(rest+ribbon)

    1.准备工作 这一篇文章基于上一篇文章的工程.启动eureka-server 工程,端口为 8761.分别以端口 8762 和 8763 启动 service-hi 工程.访问 localhost:8 ...

  10. Winform数据库连接app.config文件配置

    1.添加配置文件 新建一个winform应用程序,类似webfrom下有个web.config,winform下也有个App.config;不过 App.config不是自动生成的需要手动添加,鼠标右 ...