本文总结sass相关核心知识点

说明:本文的内容是,我在开发实践中总结的实用性比较强的sass知识点,其他未涉及的知识,如果对你有作用请自行查阅

sass知识目录

嵌套

注释

SassScript

@规则

Mixin指令


  1. 嵌套

    一般写法
    div{
    p {}
    }
    &父选择器引用
    div{
    &:hover {}
    &-span { background:red; }
    }
    相同前缀的css样式简写形式
    div{
    font: {
    family: fantasy;
    size: 30em;
    weight: bold;
    }
    }
    div{
    font: 20px/24px fantasy {
    weight: bold;
    }
    }
  2. 注释

    多行注释 /* */ 会被编译成css中的注释
    单行注释 // 在编译后的css中去除
  3. SassScript

    声明变量
    局部变量 $width: 2px;
    全局变量 $width: 50px !global;
    数据类型
    number -> 1 11.1 11px
    string -> "title"
    应用
    $name: "p";
    div #{$name} {
    width: 100px;
    }
    color -> red
    boolean -> true
    null -> null
    list -> 11px 10px 12px 或者 11px, 10px, 12px
    map -> (key: value, key1: value1)
    function
    运算符
    + - * / % < > <= >=
    其中 / 运算只在以下三种情况中生效
    $width/2 和变量运算
    (10px/8px) 加上小括号
    5px + 8px/2px 作为其他运算表达式的一部分
  4. @规则

    @import 导入其他的css,scss文件
    @import "demo"; 等效于 @import "demo.scss";
    scss文件默认会编译成css文件,如果你的scss文件只想被其他文件import,可以在定义的文件名前面加上_
    如 _demo.scss 然后使用 @import "demo" 即可
    嵌套的@import
    假设_demo.scss文件中定义了如下的css
    div{
    width: 100%;
    }
    在main.css中导入
    .box {
    @import "demo";
    }
    将编译成
    .box div{
    width: 100%;
    }
    @media 嵌套
    编译后@media包裹在选择器的最上面,在做响应式时候,这种写法可以避免重复书写选择器
    div {
    width: 100%;
    @media screen {
    height: 100%;
    }
    }
    @extend 选择器替换继承
    基本使用
    div{
    width: 100%;
    }
    div.box {
    height: 100%;
    }
    #id{
    @extend div;
    }
    相当于将包含div的选择器的样式复制一份,然后把div替换成#id,编译后结果如下
    div, #id {
    width: 100%;
    }
    div.box, .box#id {
    height: 100%;
    }
    占位符
    div ye%box{
    width: 100%;
    }
    #id{
    @extend %box;
    }
    编译后结果
    div ye#id {
    width: 100%;
    }
  5. Mixin指令

    相当于定义函数
    @mixin size($w, $h) {
    width: $w;
    height: $h;
    }
    div{
    @include size(100%, 100%);
    }

sass实用知识点的更多相关文章

  1. HTML5实用知识点

    本文讲解HTML5实用知识点 新增的表单type Canvas使用 SVG使用 Audio使用 Video使用 网页缓存 文件缓存 后台worker Server-Sent Events 定位 拖放功 ...

  2. Sass 主要知识点小记

    Sass 主要知识点小记 以前写样式的时候,每个元素的颜色,背景色都需要重新写一遍,然后就想CSS难道没有变量么?最后就查到Sass.但当时没有静下心来好好的看一下,今天正好有时间,就在这里边看边整理 ...

  3. canvas学习笔记,实用知识点总结(上)

    本博客是本人日常学习笔记,作为重要知识点的总结记录,随笔风格可能更倾向于个人的学习习惯和方式,若对您有帮助十分荣幸,若存在问题欢迎互相学习探讨,前端小白一枚在此恭候. 一.基本使用规则 1.创建画布 ...

  4. dubbo实用知识点总结(三)

    1. 服务降级 2. 优雅停机 3. 主机绑定 4. 访问日志 5. Multicast注册中心 6. zookeeper注册中心 7. 推荐用法 8. 容量规划 9. 基准测试工具包

  5. dubbo实用知识点总结(一)

    1. dubbo基础架构 架构 特性 服务提供者 服务消费者 配置可以用dubbo.properties来替换 2. 注解配置 提供方(注意:serivce注解是dubbo的service) 消费者 ...

  6. dubbo实用知识点总结(二)

    1. 参数验证 2. 结果缓存 3. 泛化引用 客户端没有对应接口类的情况,可以直接调用 4. 泛化实现 5. 回声测试 用于检测服务是否可用 6. 上下文信息 7. 隐式传参(不常用) 8. 异步调 ...

  7. WPF实用知识点

    1.一个基本的WPF程序, 需要引入的程序集WindowsBase, PresentationCore, PresentationFramework using System; using Syste ...

  8. Node.js实用知识点

    本文介绍如何使用nodejs 简单的HttpServer 调试nodejs 基础路由 nodejs配置开发和生产环境 nodejs核心模块一览 express用法 文件I/O nodejs模块 nod ...

  9. Mysql实用知识点总结

    本文介绍MYSQL相关知识,方便日常使用查阅 目录 准备 MYSQL常用命令 语言结构 sql语句 外键 自然语言全文搜索 准备 你可以使用 Navicat Premium 12 或者 MySQL W ...

随机推荐

  1. BZOJ4654/UOJ223 [Noi2016]国王饮水记

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  2. volist/foreach下,点击循环中的一个进行操作

    第一种方法,是给点击元素绑定事件,用ajax将值传到控制器中,其中传的值,用jquery选择器选择值. 1.在html中 <foreach name="save" item= ...

  3. 《Think in Java》(七)复用类

    Java 中复用代码的方式就是复用类,复用类的方式有: 组合 继承 代理(并没有啥高深的含义,只是在使用类A前,新增了类B,让类B的每个方法去调用类A中对应的方法,也就是说类B代理了类A...不过我还 ...

  4. 为mac终端添加tree命令

    原文:http://superuser.com/questions/359723/mac-os-x-equivalent-of-the-ubuntu-tree-command/ 整理步骤如下: $ t ...

  5. 算法练习1---桶排序java版

    今天复习了桶排序. 例如现在有满分为10分的试卷,学生得分分别为2,8,5,3,5,7,现在要给这些分数按照从大到小输出,使用桶排序的思想:有11个桶,每个桶有一个编号,编号从0-10,每出现一个分数 ...

  6. LeetCode OJ:Invert Binary Tree(反转二叉树)

    Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 Trivia:This problem was ...

  7. json与DataTable相互转换

    首先我们看看 Newtonsoft.Json.JsonConvert 是怎么完成的: DataTable table = new DataTable(); table.Columns.Add(&quo ...

  8. Nhibernate系列学习之(三) Criteria查询表达式增删改查

    Criteria查询表达式: 正如我们所见,Expression对查询语句的表达式进行了封装和限制,下表列出了Expression所有的方法,以及每个方法所对应的查询表达式及其限制. Restrict ...

  9. 又是毕业季1&&又是毕业季2

    又是毕业季2 n/k; 又是毕业季2 一开始很容易想到枚举n个数取k个的所有组合,然后分别用辗转相除法求最大公约数,但是复杂度明显不符合要求,于是必须换一种思路. 我们想到,k个数的公约数含义就是这k ...

  10. MKMapView缩放显示全部annotation(转)

    原文  http://blog.csdn.net/favormm/article/details/8028026#define MINIMUM_ZOOM_ARC 0.014 //approximate ...