sass初步认识2
sass可以使用变量,采用 $ 来进行变量声明,格式为:
$highlight-color:#f90;(声明方式和css属性声明类似。使用的变量名可以更加语义化)
与js分为全局变量和局部变量类似,sass定义在规则块之外的变量,该变量均可被使用。而定义在规则块之内的变量只能在规则块内部使用,此时,其他规则块声明新的名字相同的变量。
例:
$nav-color:#f90;
nav{
$width:100px;
width:$width;
color:$nav-color;
}
编译后:
nav{
width:100px;
color:#f90;
}
变量值除了被引用外,还可以引用其他变量值;
例:
$highlight-color:#f90'
$highlight-border:11px solid $highlight-color;
.selected{
border:$highlight-border;
}
编译后:
.selecter{
border:1px solid #f90;
}
变量名可以用中划线和下划线,通常用中划线更普遍,两者可以相互兼容。
嵌套:
sass的嵌套功能可以减少很多重复的工作。
例:
#content{
article{
h2{ color:#333}
p{ margin-bottom:1.4em}
}
aside{background-color:#eee}
}
编译后:
#content article h2{color:#333}
#content article p{ margin-bottom:1.4em}
#content aside{background-color:#eee}
如果出现伪类,如 hover:,则需要使用特殊结构&。&有一个替换的功能。
例:
article a{
color:blue;
$:hover{ color:red}
}
编译后
article a{color:blue}
arbicle a :hover{color:blue}
如果没有$,则article内连接的所有子元素在被hover时均变成红色。
$的使用例二:
#content aside {
color:red;
body.ie ${color:green}
}
编译后:
#content aside{color:red}
body.ie #content aside{color:green}
群组选择器也可以进行嵌套。
.container{
h1,h2,h3{margin-bottom: .8em}
}
子组合选择器和同城组合选择器:>、+、~
>:选择一个元素的直接子元素;article>section{border:1px solid #ccc};article的section子元素。
+:选择一个元素后紧跟的某个元素;header+p{fonr-size:1em};header后面紧跟的p与元素。
~:选择一个原色同层的全体某个元素。article~article{border:1px daseed #ccc};article同层的全部article元素。
除了嵌套选择器,sass也可以嵌套属性。
例:nav{
border:{
style:solid;
width:12px'
color:#fff
}
}
例二:
nav{
border:1px solid red{
left:solid;
right:12px'
}
}
@import的在sass的使用:
原声css也可以使用@import,但是是在执行到@import的时候才会加载,速度慢。而sass的在生成css文件的时候就把相关文件导入进来,比较快。
sass中@import的使用方法是:“@import 文件名”
文件可以是sass文件,也可以是scss文件。当需要导入的是css文件时候,为了被认为是原生css中的@import的使用,需要将css文件后缀改为sass或者scss。如果要导入的文件不希望单独生成独立的css
文件,这样的sass文件为局部文件,命名时在文件名前加一个下划线,在引入的时候不用写出下划线和后缀名。
!default的使用:与css中的!important相反,当变量在前面已经被声明过了,在后面引用赋值时出现
!default时,变量值使用之前声明的值,否则使用后面的默认值。
sass的注释方法有两种:
1://(在一行以内,在css中不会出现)
2:/*.....*/(不限制一行,在css中会被看见,若写在大括号里面等不利于sass转化css的地方,在css中
也不会出现)
sass初步认识2的更多相关文章
- sass初步认识3
sass的混合器是对大段的样式代码进行命名,定义为混合器,以便被多次引用.混合器的格式为:“@mixin 样式名称{样式代码}”:调用混合器的格式为:“@include 样式名称”.例:@minin ...
- sass初步认识1
sass是一种“css预处理器”,同类的还有less等,方法类似.css预处理器的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的css文件. 使用sass需要先暗转RUBY,再 ...
- CSS预处理器——Sass、LESS和Stylus实践
CSS(Cascading Style Sheet)被译为级联样式表,做为一名前端从业人员来说,这个专业名词并不陌生,在行业中通常称之为“风格样式表(Style Sheet)”,它主要是用来进行网页风 ...
- vue-cli + sass 的正确打开方式
关于在vue-cli搭建的项目中怎么配置sass,网上搜到的基本是这种答案: 但是我认为,直接将样式写在每个单文件的<style>里,是十分不明智的做法.且不说node-sass安装过程的 ...
- 初识css预处理器:Sass、LESS
这篇文章是初步介绍css预处理的,详细学习请移步官网~ 什么是css预处理器 CSS 预处理器是一种语言, 通俗易懂的话来说就是“用一种专门的编程语言,进行 Web 页面样式编写,再通过编译器转化为正 ...
- sass、less是什么,如何使用?
一个很好的介绍的SASS,LESS的区别的文档,值get 1.背景介绍 CSS 是一门非程序式语言,没有变量.函数.SCOPE(作用域),需要书写大量看似没有逻辑的代码,不方便维护及扩 展,不利于复用 ...
- nginx配置初步
nginx配置初步 1,切换至nginx目录,找到配置文件目录 cd /etc/nginx/conf.d 2,拷贝一份conf文件 sudo cp default.conf head.conf 3,进 ...
- 前段集成解决方案grunt+yeoman初步认识
1.什么是前段集成解决方案? 将前端研发领域中各种分散的技术元素集中在一起,并对常见的前端开发问题.不足.缺陷和需求,所提出的一种解决问题的方案 2.yeoman 应用的架构,模型! 相当于一个生成 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
随机推荐
- iOS 判断字符串中含有某个字符串 rangeOfString
//判断roadTitleLab.text 是否含有qingjoin if([roadTitleLab.text rangeOfString:@"qingjoin"].locati ...
- M面经Prepare: Find integer Average of 2 integers.
The definition of integer average is the highest smaller integer if average is floating point number ...
- zabbix服务器监控suse系统教程
zabbix服务器监控suse系统教程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 花了近一个星期才学会了如何监控window和linux主机的基本信息以及报价情况(我已经把笔记 ...
- android 单例模式
单例模式特点: 1.一个类只能有一个实例 2.自己创建这个实例 3.整个系统都要使用这个实例 单例模式的形式: 1.饿汉式单例类 public class Singleton { private Si ...
- C++之路起航——标准模板库(vector)
vector(动态数组或向量):动态分配内存空间的线性储存结构. 需要包括头文件<vector> 定义: vector<数据类型> 变量名: Eg: vector<int ...
- php 警告
php.ini error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT error_log = /var/log/php-fpm/php ...
- 使用streaming window函数统计用户不同时间段平均消费金额等指标
场景 现在餐厅老板已经不满足仅仅统计历史用户消费金额总数了,他想知道每个用户半年,每个月,每天,或者一小时消费的总额,来店消费的次数以及平均金额. 给出的例子计算的是每5秒,每30秒,每1分钟的用户消 ...
- paper 58 :机器视觉学习笔记(1)——OpenCV配置
开始学习opencv! 1.什么是OpenCV OpenCV的全称是:Open Source Computer Vision Library.OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可 ...
- mongo自带测试
benchrun > res = benchRun({ ops:[{ ns:"test.foo", op:"insert", doc:{y:{,]}} } ...
- 转:Order&Shipping Transactions Status Summary
详细内容: http://blog.csdn.net/pan_tian/article/details/7696528 WSH_DELIVERY_DETAILS.Release_Status can ...