我们平时都称之为 Sass,其实可分成sass和scss, 其中Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),以“.sass”后缀为扩展名;而 SCSS 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的语法书写和我们的 CSS 语法书写方式非常类似,较为宽松,以“.scss”后缀为扩展名;二者可以说是一个东西

sass嵌套

  1. 选择器嵌套

<header>
  <nav> <a href="#">home</a> <a href="#">page</a> </nav> </header> nav a { color:red; } header nav a { color:green; } nav { a { color: red; header & { color:green; } } }

属性嵌套(有相同的属性前缀

如 font, background等,也有可能是 -webkit-

.box { font-size: 12px; font-weight: bold; } .box { font: { size: 12px; weight: bold; } }

伪类嵌套

同上选择器嵌套一样 使用 & 关键字

.clearfix{ &:before, &:after { content:""; display: table; } &:after { clear:both; overflow: hidden; } } clearfix:before, .clearfix:after { content: ""; display: table; } .clearfix:after { clear: both; overflow: hidden; }

占位符:

    • 语法:%placeholder,
    • 用法:占位符不被 @extend 调用不产生任何代码

    

%bg {
background-color: #FF0;
}
%w {
width: 100px;
}
.box {
@extend %w;
height: 100px;
@extend %bg;
}

sass 语法

允许使用变量 以 $ 开头

$test: #ff9500
div{
color: $test;
}
也可以字符串拼接 $side : left; .rounded {
border-#{$side}-radius: 5px;
}

sass分享:

内容:全局、默认、局部变量
使用:默认变量 在局部中无效,覆盖 默认变量 不分上下顺序

<div class="box1">
<div class="box2">box2</div>
</div>
$backgroundColor: #FF0; // 全局变量
$backgroundColor: #000 !default; // 默认变量
$color: #F0F; .box1 {
$color: #CCC; // 局部变量
width: 100px;
height: 100px;
background-color: $backgroundColor; // #FF0
.box2 {
color: $color; // #CCC
}
}

sass 的 @if 控制指令

单独使用@if:

当@if 的表达式不是false或者null时, 条件成立, 输出{} 内的代码

.demo{
$fx: bottom;
@if ($fx == top) {
border-color: transparent transparent pink transparent;
border-style: dashed dashed solid dashed;
}
@else if($fx == right){
border-color: transparent transparent transparent pink;
border-style: dashed dashed dashed solid;
}
@else if($fx == bottom){
border-color: pink transparent transparent transparent;
border-style: solid dashed dashed dashed;
}
@else if($fx == left){
border-color: transparent pink transparent transparent;
border-style: dashed solid dashed dashed;
} width: 0px;
height: 0px;
overflow: hidden;
border-width: 60px;
}

混合指令 + @if 指令

// 画三角形@mixin声明
@mixin sj($fx:top,$size:100px,$color:red){ @if ($fx == top) {
border-color: transparent transparent $color transparent;
border-style: dashed dashed solid dashed;
}
@else if($fx == right){
border-color: transparent transparent transparent $color;
border-style: dashed dashed dashed solid;
}
@else if($fx == bottom){
border-color: $color transparent transparent transparent;
border-style: solid dashed dashed dashed;
}
@else if($fx == left){
border-color: transparent $color transparent transparent;
border-style: dashed solid dashed dashed;
} width: 0px;
height: 0px;
overflow: hidden;
border-width: $size; } //mixin的调用
.demo{
@include sj(left, 66px, pink);
}

less 与sass有个很明显的区别
变量
咱们sass 变量用 $ 开头
less 是以 @ 开头的

sass语法 @for 控制指令

@for 指令可以在限制的范围内重复输出格式,每次按要求(变量的值)对输出结果做出变动;

这个指令包含两种格式:
@for $var from through ,
或者
@for $var from to

<ul>
<li class="item-1">至尊魔法师</li>
<li class="item-2">王</li>
<li class="item-3">奇异博士</li>
<li class="item-4">莫度男爵</li>
<li class="item-5">哈姆雷特</li>
<li class="item-6">蜘蛛侠</li>
<li class="item-7">非人哉</li>
</ul>

rom ... through

// 当使用 through 时,条件范围包含 与 的值

// 个人分析: 可以将一个页面,不同div中嵌套的元素设置样式,只要命名符合一定的规律

@for $i from 1 through 7 {
.item-#{$i} {
width: 6em * $i;
background: pink;
margin: 6px 0;
}
}

scss使用方法以及相关内容的更多相关文章

  1. sqlplus 配置方法及相关命令

    sqlplus 配置方法及相关命令 1.配置文件 1.1 全局模式什么叫全局模式呢:当我们配置完sqlplus工具加载配置文件后,无论在哪个目录下登陆数据库,您设置[sqlplus提示符样子,在任何目 ...

  2. 学习笔记之html5相关内容

    写一下昨天学习的html5的相关内容,首先谈下初次接触html5的感受.以前总是听说html5是如何的强大,如何的将要改变世界.总是充满了神秘感.首先来谈一下我接触的第一个属性是  input的里面的 ...

  3. 基于KNN的相关内容推荐

    如果做网站的内容运营,相关内容推荐可以帮助用户更快地寻找和发现感兴趣的信息,从而提升网站内容浏览的流畅性,进而提升网站的价值转化.相关内容 推荐最常见的两块就是“关联推荐”和“相关内容推荐”,关联推荐 ...

  4. 第一天上午——HTML网页基础知识以及相关内容

    今天上午学习了HTML基础知识以及相关内容,还有DW的基本使用方法. HTML(HyperText Markup Language):超文本标记语言,超文本:网页中除了包含文本文字之外,还包含了图片, ...

  5. day 05字典相关内容

    1.day 04内容回顾及作业讲解 列表:增 append insert extend 删 remove pop clear del 改 li[索引]='被修改的内容' li[切片]='被修改的内容' ...

  6. Django模板语言相关内容 Djan

    Django模板语言相关内容   Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...

  7. Django——模板语言相关内容

    Django模板语言相关内容   Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...

  8. Android开发环境——SDK相关内容汇总

     Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...

  9. Hibernate5笔记8--Hibernate事务相关内容

    Hibernate事务相关内容: (1) 事务四大特性(简称ACID): (1)原子性(Atomicity) 事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行. (2)一致性(Con ...

随机推荐

  1. 【数据结构与算法】Trie(前缀树)模板和例题

    Trie 树的模板 Trie 树的简介 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树.他的核心思想是空间换 ...

  2. VS2010 查看代码编辑器中的变量

    查看变量的使用情况 1.选中代码中的变量 2.右键 Find Usages

  3. Buffer 和 cache

    要问Cache和Buffer的区别,首先要问另一个问题:为何会存在Cache和Buffer? 无论缓存还是缓冲,其实本质上解决的都是读写速度不匹配的问题,从这个角度,他们非常相似. 知乎上关于Cach ...

  4. Vscode的使用小技巧

    命令行启动code 如果你的系统是Linux系统(我使用的是Ubuntu 16.04)这样就可以直接使用 code + filename来编辑文件(就像vi + filename) 如果你的系统是Ma ...

  5. Zwibbler—前端Canvas绘图工具使用记录

    本人第一次发博客,用意在于记录自己在开发过程中用到的实用工具并分享出来,写的可能不好,请大家多多包涵!!! 工具官网:https://www.zwibbler.com 基于Canvas的一个前端绘画工 ...

  6. mybatis是如何分页的,分页插件的原理是什么

    mybatis是如何分页的,分页插件的原理是什么 代码之尖关注 12018.12.28 17:11:12字数 529阅读 19,877 1. SQL 分页 <select id="qu ...

  7. short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

    对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型.而short s1 = 1; s1 += 1;可 ...

  8. 有哪些不同类型的 IOC(依赖注入)方式?

    构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现 的,该类有一系列参数,每个参数代表一个对其他类的依赖.Setter 方法注入:Setter 方法注入是容器通过调用无参构造器或无参 st ...

  9. 基于redis实现未登录购物车

    springboot 工程 主要说明购物车流程(故将登录用户信息保存至session) 未登录时 将用户临时key 保存至cookie 有不足之处 请大佬指点 项目源码: https://github ...

  10. Netty学习摘记 —— UDP广播事件

    本文参考 本篇文章是对<Netty In Action>一书第十三章"使用UDP广播事件"的学习摘记,主要内容为广播应用程序的开发 消息POJO 我们将日志信息封装成名 ...