本文总结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. 【算法】fhqtreap初探

    NOIP回来就一直想着学平衡树...平衡树写久了调不出来真的会头脑发热.jpg 大概只写了几道题... fhqtreap是不需要旋转的平衡树,仅使用分裂合并,一样可以保持平衡树的性质,并且可以非常简单 ...

  2. 【codevs1993】草地排水(最大流)

    最近学了最大流,于是去codevs找了几道最大流裸题(这是我第一次写网络流). 题目大意:求一个图的最大流(就是这样的裸题) 第一次A网络流的题,发个博客纪念一下. var n,m,i,j,k,h,t ...

  3. web应用路径问题(相对路径,绝对路径,动态获取路径)

    1.相对路径和绝对路径 绝对路径:以 “ / ” 开头的路径,是完整的路径. 相对路径:不以 “ / ” 开头的路径,是相对于当前web资源目录的路径. 在绝对路径中, “ / ” 的含义有两种解释: ...

  4. UVA 12716 GCD XOR (异或)

    题意:求出[1,n]中满足gcd(a,b)=a xor b,且1<=a<=b<=n的对数 题解:首先a xor b = c,则a xor c = b,而b是a的约数,则可以使用素数筛 ...

  5. MYSQL进阶学习笔记一:MySQL编码设定,会话变量和全局变量!(视频序号:进阶_1-3)

    知识点一:MySQL编码设定(1-2) 服务器编码设定: 查看MySQL服务器端的编码格式: SHOW VARIABLES LIKE ‘char%’; 设定编码格式: SET NAMES ‘utf8’ ...

  6. Java中使用注释

    在编写程序时,经常需要添加一些注释,用以描述某段代码的作用. 一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上.因此,注释是程序源代码的重要组成部分,一定要加以重视哦! Ja ...

  7. 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它

    dpkg应用程序被占用 错误提示: E: 无法获得锁 /var/lib/dpkg/lock – open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他 ...

  8. C#中List<object>.Clear()方法和实例化new List<object>()操作的结果分析

    本文主要的目的是想简单的探讨一下C#中List针对内存的操作过程,以便以后遇到该种情况可以避免走进误区,内容非常简单,只是在此作为记录.能帮到人最好,帮不到就当给自己提个醒.C#将复杂的指针操作全都隐 ...

  9. asp.net JS取值

    <script> $(function () { $.post("RegisterNew.aspx", { "ddlprovince": $(&qu ...

  10. GIT 应用gitreview方式提交代码过程

    t status -- 是不是修改的文件 git diff (文件名) -- 看文件修改位置 git add (文件名的空格串) git commit -- 提交到本地 git stash -- 暂存 ...