sass初步认识3
sass的混合器是对大段的样式代码进行命名,定义为混合器,以便被多次引用。
混合器的格式为:“@mixin 样式名称{样式代码}”;
调用混合器的格式为:“@include 样式名称”。
例:
@minin rounded-corners{
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
}
使用:
.notice {
background-coloe:green;
border:1px solid red;
@include rounded-corners;
}
sass最终生成:
.notice{
background-coloe:green;
border:1px solid red;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
}
混合器滥用会造成加载缓慢,为了避免滥用,需思考是否需要混合器,这个混合器体现的作用是什么,
混合器是展示性吧描述,用来描述一条css规则应用之后会产生怎样的效果。
混合器里面除了包含属性,还可以包含css规则。
@minxin no-bullents{
list-style:none;
li{
list-style-image:none;
list-style-type;none;
margin-left:9px;
}
}
给混合器传参:
通过给混合器传参,混合器能生成不同的样式。
@minin link-colors($normal,$hover,$visited){
color:$normal;
&:hover{color:$hover;}
&:visited{color:$visited;}
}
a{
@include link-colors(blue,red,green);//类似于函数传递参数。参数也可以这样($normal:blue,$visited:green,$hover:red)
}
最终生成:
a{color:blue;}
a:hover{color:red;}
a:visited{color:green;}
为了在@include混合器时不必传入所有的参数,可以给参数设定一个默认值$name:default-value。
@mixin link-colors(
$normal,
$hover:$normal,
$visiter:$normal
){
color:$normal;
&:hover{ color:$hover;}
&:visited{ color:$visited;}
}
在使用混合器时之传入了一个参数时,其他参数也自动赋值已赋值参数的值。
选择器继承,即一个选择器可以继承另一个选择器定义的所有样式,通过@extend语法实现。
.error{
border:1px red;
background-color:red;
}
.seriousError{
@extend .error;
border-width:2px;
}
.seriousError不仅会继承error自身的所有样式,还会继承任何跟.error有关的组合选择器样式。
比如.error a,h1 .erro的样式,在.serousError a和hi .serousError也会体现。
继承是建立在语义化的关系上,一个类是另一个类的细化的时候使用。
sass初步认识3的更多相关文章
- sass初步认识2
sass可以使用变量,采用 $ 来进行变量声明,格式为: $highlight-color:#f90;(声明方式和css属性声明类似.使用的变量名可以更加语义化) 与js分为全局变量和局部变量类似,s ...
- 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 ...
随机推荐
- News: Visual Studio Code support debugging Linux Apps
http://arstechnica.com/information-technology/2015/11/visual-studio-now-supports-debugging-linux-app ...
- 查找g++文档的方法
http://www.gnu.org/ -> Software(http://www.gnu.org/software/software.html) ->搜索 "gcc" ...
- UIControl事件
1.UIControlEventTouchDown 单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候. 2.UIControlEventTouchDownRepeat 多点触摸按下事件,点触计 ...
- 磁盘io负载查看
转自:http://blog.csdn.net/i_am_jojo/article/details/7698458 为了方便各位和自己今后遇到此类问题能尽快解决,我这里将查看linux服务器硬盘IO访 ...
- ASP.NET页面传值之Server.Transfer 和Response.Direct
先看实例: B.apsx: public string TextBox1Text { get { ...
- Singlton设计模式
单例定义: 确保一个类只有一个实例,并提供全局访问点. 适用场景: 1.) 当系统中某个类必须仅有一个实例对象,同时访问该系统的所有访问者必须访问同一个实例对象时,且该对象实例自身占用资源又不大时. ...
- 《数据结构与算法分析:C语言描述_原书第二版》CH3表、栈和队列_reading notes
表.栈和队列是最简单和最基本的三种数据结构.基本上,每一个有意义的程序都将明晰地至少使用一种这样的数据结构,比如栈在程序中总是要间接地用到,不管你在程序中是否做了声明. 本章学习重点: 理解抽象数据类 ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-5-6 踩踏平台是怎么炼成的
在游戏中,有很多分来飞去的平台,这个平台长短不一.如果每种长度都去创建一张图片那是比较繁琐的事情.实际上,我们只用到3张图.分别是平台的,平台的中间部分,平台的右边.关键是平台的中间部分,两张中间部分 ...
- PostgreSQL Loadbalance Analysis CPU
Before we can even begin to decide on a processor count, we need a baseline. With a working PostgreS ...
- [转]MySQL数据库引擎
经常用MySQL数据库,但是,你在用的时候注意过没有,数据库的存储引擎,可能有注意但是并不清楚什么意思,可能根本没注意过这个问题,使用了默认的数据库引擎,当然我之前属于后者,后来成了前者,然后就有了这 ...