sass 导入@import详解
@import
Sass 拓展了 @import 的功能,允许其导入 SCSS 或 Sass 文件。被导入的文件将合并编译到同一个 CSS 文件中,另外,被导入的文件中所包含的变量或者混合指令 (mixin) 都可以在导入的文件中使用。
例如:
public.scss
$font-base-color:#333;
index.scss
@import "public";
$color:#666;
.container{
border-color: $color;
color: $font-base-color;
}
编译后:
.container { border-color: #666; color: #333; }
注意:跟我们普通css里面@import的区别
但是如下的几种方式,都将作为普通的 CSS 语句,不会导入任何 Sass 文件
- 文件拓展名是 .css;
- 文件名以 http:// 开头;
- 文件名是 url();
- @import 包含 media queries。
@import "public.css";
@import url(public);
@import "http://xxx.com/xxx";
局部文件(Partials)
Sass源文件中可以通过@import指令导入其他Sass源文件,被导入的文件就是*局部文件*,局部文件让Sass模块化编写更加容易。
如果一个目录正在被Sass程序监测,目录下的所有scss/sass源文件都会被编译,但通常不希望局部文件被编译,因为局部文件是用来被导入到其他文件的。如果不想局部文件被编译,文件名可以以下划线 (_)开头
_theme.scss
$border-color:#999;
$background-color:#f2f2f2;
index.scss
@import "public";
@import "theme";
$color:#666;
.container{
border-color: $border-color;
color: $font-base-color;
background-color: $background-color;
}
编译后:
.container { border-color: #999; color: #333; background-color: #f2f2f2; }
可以看到,@import 引入的_theme.scss,可以没有下划线(__),这是允许的,这也就意味着,同一个目录下不能同时出现两个相关名的sass文件(一个不带_,一个带_),添加下划线的文件将会被忽略。
嵌套 @import
大多数情况下,一般在文件的最外层(不在嵌套规则内)使用 @import,其实,也可以将 @import 嵌套进 CSS 样式或者 @media 中,与平时的用法效果相同,只是这样导入的样式只能出现在嵌套的层中。
base.scss
.main-color{
color: #F00;
}
index.scss
.container{
@import "base";
}
最后生成
.container .main-color { color: #F00; }
注意:被导入的文件不能是局部文件方式(在前面不能加_)
sass 导入@import详解的更多相关文章
- ES6 模块化(Module)export和import详解 export default
ES6 模块化(Module)export和import详解 - CSDN博客 https://blog.csdn.net/pcaxb/article/details/53670097 微信小程序笔记 ...
- mysqldump导入导出详解
mysqldump可以指定路径的,如果没指定路径,而只写了文件名的话,那么就在当前进入mysql命令行所在的目录,也就是mysql安装目录下 mysqldump --default-characte ...
- require 和 import 详解
前言 JS模块化编程是前端小伙伴们必不可少的知识,下面妹子将于自认为比较清晰的方式列举出来. 1 require 特点: 1.运行时加载 2.拷贝到本页面 3.全部引入 1.1 CommonJS No ...
- JS ES6中export和import详解
1.Export 模块是独立的文件,该文件内部的所有的变量外部都无法获取.如果希望获取某个变量,必须通过export输出, // profile.js export var firstName = ' ...
- Python Import 详解
http://blog.csdn.net/appleheshuang/article/details/7602499 一 module通常模块为一个文件,直接使用import来导入就好了.可以作为mo ...
- ES6模块之export和import详解
ES6中的模块即使一个包含JS代码的文件,在这个模块中所有的变量都是对其他模块不可见的,除非我们导出它.ES6的模块系统大致分为导出(export)和导入(import)两个模块. 1.模块导出(ex ...
- java中import详解
前言 import与package机制相关,这里先从package入手,再讲述import以及static import的作用. package package名称就像是我们的姓,而class名称就像 ...
- import详解
试想一下 在工作中今年在一个项目中可能会导入某一个目录下的模块文件,那这个时候怎么样才能让Python解释器能够找到该模块进行调用呢? - 将这个模块拷贝一份到当前使用目录下. 这种方式让模块太冗余 ...
- python入门-PyCharm中目录directory与包package的区别及相关import详解
一.概念介绍 在介绍目录directory与包package的区别之前,先理解一个概念---模块 模块的定义:本质就是以.py结尾的python文件,模块的目的是为了其他程序进行引用. 目录(Dict ...
- python : import详解。
用户输入input() input()函数: 用于从标准输入读取数值. >>> message = input('tell me :') tell me :hahah >> ...
随机推荐
- SpringCloud OpenFeign token中转
OpenFeign 的本质是调用指定服务的 Controller. 前后端分离项目,调用 Controller 是需要传递 token 的. OpenFeign 并不会自动携带 token 去访问 C ...
- Mybatis总体框架设计
Mybatis架构概览 Mybatis架构整体设计如下: 接口层和数据库交互的方式 Mybatis和数据库的交互方式有两种 使用传统的MyBatis提供的API: 使用Mapper接口 使用传统的My ...
- 支持API 9的Sample已上新,速来拿走
原文:https://mp.weixin.qq.com/s/sPDG5sG5F_gTp0cE1VV3gQ,点击链接查看更多技术内容. 今年的华为开发者大会上我们发布了HarmonyOS 3.1 D ...
- k8s之hostPath存储卷
一.简介 hostPath:用于将目录从工作节点的文件系统挂载到pod中. 数据的生命周期与节点相同.我们知道,虽然hostPath卷实现pod中数据存储到节点的文件系统中,但是pod的调度不是固定的 ...
- Centos 8.0 minimal命令行安装图形化界面(超详细)
Centos 8.0 安装图形化界面(超详细) 开始之前呢,请先查看您的Centos版本和是否有root账户权限. 一.安装Centos 图形化界面并重启 下载安装图形化界面 执行命令 yum gro ...
- 重新整理数据结构与算法(c#)——算法套路贪心算法[二十八]
前言 贪心算法,记得学的时候还是大学的时候,再次来总结一下吧. 贪心算法并不是指具体的固定代码,而是指一种思路,加入我们每次都选最好的选择,那么很大可能会得到最好的结果. 题目: 正文 思路,加入把k ...
- 使用OpenMMLab系列的开源库时,常用的脚本合集。
使用OpenMMLab系列的开源库时,常用的脚本合集. 开源仓库:gy-7/mmlab_scripts 脚本解释: anchor_visiual.py 生成的锚框可视化 aug_test.py 自动数 ...
- 力扣400(java)-第N位数字(中等)
题目: 给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...] 中找出并返回第 n 位上的数字. 示例 1: 输入:n = 3输出: ...
- 五福背后的 Web 3D 引擎 Oasis Engine 正式开源
简介: Oasis 从开源走向新的起点,用 3D 化的交互和表达让世界变得更美好. 相信大家已经体验了今年支付宝五福的活动,无论是今年的五福首页还是打年兽游戏都是由蚂蚁互动图形引擎(代号:Oasis ...
- DataWorks搬站方案:Azkaban作业迁移至DataWorks
简介: DataWorks迁移助手提供任务搬站功能,支持将开源调度引擎Oozie.Azkaban.Airflow的任务快速迁移至DataWorks.本文主要介绍如何将开源Azkaban工作流调度引擎中 ...