本文总结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. js正则表达式验证(化繁为简)

    以前用js写正则表达式验证,每一个文本框后面都要添加一个onblur函数,验证的信息少,也没体会到有多繁琐,这次项目中的页面比较多,页面中的信息也比较多,如果每个文本框都加一个验证函数的话,js验证代 ...

  2. 在java中public void与public static void区别

    static 方法可以被main方法直接调用,而非static方法不可以.因为static方法是属于类的,是类方法.可以通过类名.方法名直接调用.而非static方法必须等对象被new出来以后才能使用 ...

  3. JVM内存管理中的垃圾回收策略

    JVM垃圾回收策略 1.静态内存分配和回收 编译时已经确定了内存空间大小,程序被加载后则一次性分配好内存空间.程序结束后,则对应栈帧撤销,分配的静态内存空间则被回收. 2.动态内存分配和回收 程序运行 ...

  4. CentOS 6和CentOS 7命令区别

      From  http://www.cnblogs.com/bethal/p/5945026.html (1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(G ...

  5. GIT和SVN比较

    SVN与Git比较 摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题.本文就这 ...

  6. ElasticSearch聚合分析API——非常详细,如果要全面了解的话,最好看这个

    转自:http://www.tianyiqingci.com/2016/04/11/esaggsapi/ 前言 说完了ES的索引与检索,接着再介绍一个ES高级功能API – 聚合(Aggregatio ...

  7. C#中的线程(一)入门

    C#中的线程(一)入门   Keywords:C# 线程Source:http://www.albahari.com/threading/Author: Joe AlbahariTranslator: ...

  8. kylin_异常_01_java.io.FileNotFoundException: /developer/apache-kylin-2.3.0-bin/tomcat/conf/.keystore

    一.异常现象 kylin安装完,启动后,控制正常,kylin后台也能正常访问.但是去看kylin的日志,却发现报错了: SEVERE: Failed to load keystore type JKS ...

  9. nyoj-158-省赛来了(组合数)

    题目链接 /* Name:nyoj-158-省赛来了 Copyright: Author: Date: 2018/4/25 17:07:22 Description: 暴力,秒天秒地 */ #incl ...

  10. 杂项之python利用pycrypto实现RSA

    杂项之python利用pycrypto实现RSA 本节内容 pycrypto模块简介 RSA的公私钥生成 RSA使用公钥加密数据 RSA使用私钥解密密文 破解博客园登陆 pycrypto模块简介 py ...