当前位置: 首页 > news >正文

Sass 快速入门教程

@import

若不想将scss编译成css文件,在scss文件名前面加上下划线_

使用CSS @import指令
默认情况下@import在当前目录下需找scss文件加载,若想使用原生css的import指令可以使用下面四个规则:

  1. 当@import后面跟上的文件名是以.css结尾的时候;

  2. 当@import后面跟的是http://开头的字符串的时候;

  3. 当@import后面跟的是一个url()函数的时候;

  4. 当@import后面带有media queries的时候。

使用@import导入文件
使用@import导入下划线开头文件不需要添加下划线,compass会自动为文件名添加下划线导入。

父类选择器

a {
    &:hover {
        color: blue;
    }
}

其中&符号表示连接父类,最终生成代码:

a:hover {
    color: blue;
}

属性嵌套

.main-sec {
    font-family: $main-sec-ff;
    
    .headline {
        font: {
            family: $main-sec-ff;
            size: 16px;
        }
    }
}

变量

定义

$color-withe: #FFFFFF;

$符号开头后面跟上字符串作为变量名,后跟上冒号:和变量值,冒号是分分隔符,分割变量名和变量值。
使用

.main {
    background: $color-withe;
}

直接使用变量名引用即使用变量值。

函数

内置函数

称为functions

可重用代码块

minxin

使用时以复制拷贝存在,通过@include方式调用;

定义

@mixin col-6 {
    width: 50%;
    float: left;
}

// 使用
.webdemo-sec {
    @include col-6;
    
    &:hover {
        background: $color-FFF;
    }
}

生成的代码:

.webdemo-sec {
    width: 50%;
    float: left;
}
.webdemo-sec:hover {
    background: $color-FFF;
}

带参数函数

@mixin col ($width) {
    width: $width;
    float: left;
}
// 使用
.webdemo-sec {
    @include col(30%);
}

带默认参数

@mixin col ($width: 50%) {
    width: $width;
    float: left;
}
// 使用
.webdemo-sec {
    @include col();
}

使用时以组合声明方式存在,通过@extend方式调用。将继承者选择器插入到被继承者选择器出现的地方:

.error {
    color: #F00;
}
.serious-error {
    @extend: .error;
    border: 1px #F00 solid;
}

注:extend不可以继承选择器序列。

使用%构建仅用来继承选择器:

%error {
    color: #F00;
}
.serious-error {
    @extend: %error;
    border: 1px #F00 solid;
}

at-root

被嵌套内容输出到样式表顶层

.main-sec {
    font-family: $main-sec-ff;
    
    @at-root {
        .main-sec-headline {
            font: {
                famili: $main-sec-ff;
                size: 16px;
            }
        }
        .main-sec-detail {
            font-size: 12px;
        }
    }
}
// 生成的代码
.main-sec {
    font-family: $main-sec-ff;
}
.main-sec-headline {
    font-family: sans;
    font-size: 16px;
}
.main-sec-detail {
    font-size: 12px;
}

推荐阅读:

巧用SASS之如何遍历n个子元素并为其设置属性

相关文章:

  • 结对开发石家庄地铁查询系统
  • P2V操作完整步骤,物理机转换openstack虚拟机
  • eclipse中利用hibernate插件,根据数据库表反向生成Javabean
  • 工厂模式
  • 1.XGBOOST算法推导
  • XCode 快捷键
  • Flutter:界面刷新和生命周期
  • OGNL
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • Python 的property的实现 .
  • RPA:制造业的下一个改变者
  • 关于STP、RSTP、PVST、MSTP以及网络直径的名称解释
  • nginx_Nchan调试
  • 小程序兼容iphoneX(齐刘海)代码,mpvue的写法
  • java.util.ConcurrentModificationException
  • ----------
  • 分享的文章《人生如棋》
  • 4. 路由到控制器 - Laravel从零开始教程
  • 5、React组件事件详解
  • Angular2开发踩坑系列-生产环境编译
  • angular2开源库收集
  • Electron入门介绍
  • Java-详解HashMap
  • scala基础语法(二)
  • spark本地环境的搭建到运行第一个spark程序
  • VUE es6技巧写法(持续更新中~~~)
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 用mpvue开发微信小程序
  • 原生Ajax
  • 走向全栈之MongoDB的使用
  • 通过调用文摘列表API获取文摘
  • !$boo在php中什么意思,php前戏
  • # Maven错误Error executing Maven
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #NOIP 2014# day.2 T2 寻找道路
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (2)Java 简介
  • (2020)Java后端开发----(面试题和笔试题)
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (js)循环条件满足时终止循环
  • (ZT)薛涌:谈贫说富
  • (ZT)一个美国文科博士的YardLife
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一)Neo4j下载安装以及初次使用
  • (一)插入排序
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .