Sass--@-Rules
2019独角兽企业重金招聘Python工程师标准>>>
@import、@media、@extend
Sass 支持所有的 CSS3 @-Rules,以及 Sass 特有的 “指令”(directives)。
@import
Sass 拓展了 @import 的功能,允许其导入 SCSS 或 Sass 文件。被导入的文件将合并编译到同一个 CSS 文件中,另外,被导入的文件中所包含的变量或者混合指令 (mixin) 都可以在导入的文件中使用。
通常,@import 寻找 Sass 文件并将其导入,但在以下情况下,@import 仅作为普通的 CSS 语句,不会导入任何 Sass 文件。
· 文件拓展名是 .css;
· 文件名以 http:// 开头;
· 文件名是 url();
· @import 包含 media queries。
分音 (Partials)
如果需要导入 SCSS 或者 Sass 文件,但又不希望将其编译为 CSS,只需要在文件名前添加下划线,这样会告诉 Sass 不要编译这些文件,但导入语句中却不需要添加下划线。
例如,将文件命名为 _colors.scss,便不会编译 _colours.css 文件。
注意,不可以同时存在添加下划线与未添加下划线的同名文件,添加下划线的文件将会被忽略。
嵌套 @import
大多数情况下,一般在文件的最外层(不在嵌套规则内)使用 @import,其实,也可以将 @import 嵌套进 CSS 样式或者 @media 中,与平时的用法效果相同,只是这样导入的样式只能出现在嵌套的层中。
@media
Sass 中 @media 指令与 CSS 中用法一样,只是增加了一点额外的功能:允许其在 CSS 规则中嵌套。如果 @media 嵌套在 CSS 规则内,编译时,@media 将被编译到文件的最外层,包含嵌套的父选择器。这个功能让 @media 用起来更方便,不需要重复使用选择器,也不会打乱 CSS 的书写流程。
@media 的 queries 允许互相嵌套使用,编译时,Sass 自动添加 and
@media screen {.sidebar {@media (orientation: landscape) {width: 500px;}}}编译为@media screen and (orientation: landscape) {.sidebar {width: 500px; } }
@extend
@extend 的作用是将重复使用的样式延伸 (extend) 给需要包含这个样式的特殊样式:
.error {border: 1px #f00;background-color: #fdd;
}
.error.intrusion {background-image: url("/image/hacked.png");
}
.seriousError {@extend .error;border-width: 3px;
}
编译为
.error, .seriousError {border: 1px #f00;background-color: #fdd; }.error.intrusion, .seriousError.intrusion {background-image: url("/image/hacked.png"); }.seriousError {border-width: 3px; }
@extend-Only 选择器 (@extend-Only Selectors)
(占位符%)有时,需要定义一套样式并不是给某个元素用,而是只通过 @extend 指令使用,尤其是在制作 Sass 样式库的时候,希望 Sass 能够忽略用不到的样式。
// This ruleset won't be rendered on its own.
#context a%extreme {color: blue;font-weight: bold;font-size: 2em;
}
占位符选择器需要通过延伸指令使用,用法与 class 或者 id 选择器一样,被延伸后,占位符选择器本身不会被编译。
.notice {@extend %extreme;
}
编译为
#context a.notice {color: blue;font-weight: bold;font-size: 2em; }
转载于:https://my.oschina.net/u/3412211/blog/1550798
Sass--@-Rules相关推荐
- vue 项目配置sass
1.运行npm install node-sass --save-dev npm install sass-loader --save-dev 2.打开build文件夹下面的webpack.base. ...
- Sass (Syntactically Awesome StyleSheets)
Sass (Syntactically Awesome StyleSheets) Sass 是对 CSS 的扩展,让 CSS 语言更强大.优雅. 它允许你使用变量.嵌套规则. mixins.导入等众多 ...
- Vue 应用 Sass、Scss、Less 和 Stylus
Vue项目中应用预处理器,可以有效减少css代码量, 推荐使用Sass.Scss.Less预处理器.在创建项目的时候可以选择预处理器 (Sass/Less/Stylus). 如果当时没有选择,内置的 ...
- VUE中使用sass
1.安装sass依赖包 (sass-loader依赖于node-sass) npm install --save-dev sass-loader npm install --save-dev node ...
- 初识css预处理器:Sass、LESS
这篇文章是初步介绍css预处理的,详细学习请移步官网~ sass中文文档:https://www.sass.hk/docs less中文文档:http://lesscss.cn/ 什么是css预处理器 ...
- Bootstrap4默认样式不对胃口?教你使用NPM+Webpack+SASS来定制
Bootstrap 是一个流行的前端样式库,可以方便快速的构建应用,但默认样式可能不尽人意,本文就介绍如何使用 NPM, Webpack, SASS 针对它的源码来定制自己的主题.版本使用的是 Boo ...
- rules不显示 vue_使用stylelint规范vue项目
本文转载于SegmentFault社区 作者:Lewis92 前言 stylelint 是一个强大和现代的 CSS 审查工具,有助于开发者推行统一的代码规范,避免样式错误.其支持 less.sass ...
- Vue2.0项目中使用sass(踩坑之路)
今天用2.0创建项目的时候,使用scss一直不成功,一直报错------ 记录一下,防止下次踩坑 1.安装依赖包 vue的webpack项目中需要安装上node-sass.sass-loader和st ...
- SASS+Compass基本使用,结合JavaScript实现随机点名小系统
SASS+Compass基本使用,以一个随机点名demo为例 demo 源码:https://github.com/XieTongXue/call-over,效果请看(5),代码解释请看源码. (1) ...
- vue2.5安装sass步骤和需要注意的点
1. sass依赖于node-sass,所以要先安装node-sass,但是现在如果直接使用 npm install node-sass --save来安装的话,会造成node-sass版本过高,运行 ...
最新文章
- python中ThreadLocal的理解与使用
- linux挂载U盘,及乱码问题解决
- 美团点评APP在移动网络性能优化的实践,通用流行框架大全
- mavenspringboot项目打包引入lib目录下jar包
- Linux系统的启动引导过程(转)
- SQL脚本修改数据库名称
- HDU2049 不容易系列之(4)考新郎 —— 错排
- windows游戏程序自动备份与更新
- oracle ebs工单入库,ORACLE-EBS_库存功能点操作模块.doc
- 易恢复Ontrack EasyRecovery15绿色版
- 小猫钓鱼纸牌游戏java_java实现纸牌游戏-小猫钓鱼算法
- 公云(3322)动态域名更新API
- Webdriver 爬取新浪滚动新闻
- 风控模型开发的特征选择与常用数据源介绍
- python描述符详解
- windows被迫重装系统| 数据恢复 | 启动盘 PE盘 | 批量软件安装
- 前端学习(三)UI设计
- 侵入式及非侵入式概念
- Nginx:last 和 break 的区别
- word跨页表格拆分与合并
热门文章
- windos 为什么会突然服务停止了_Windows服务异常自动关闭
- html dom createevent,js 中 document.createEvent的用法
- os.system方法
- numpy输出到屏幕时有逗号和没逗号的原因
- relu不可微为什么可用于深度学习
- linux登oracle登陆不了,oracle: linux服务器本机不能登陆的解决
- python tkinter计算器实例_python小实例——tkinter实战(计算器)
- 使用 cout 输出数据之控制输出格式(二)
- 天翼云从业认证【考前半小时的30句话】
- 第10章:项目沟通管理和干系人管理-章节重点