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的更多相关文章

  1. sass初步认识2

    sass可以使用变量,采用 $ 来进行变量声明,格式为: $highlight-color:#f90;(声明方式和css属性声明类似.使用的变量名可以更加语义化) 与js分为全局变量和局部变量类似,s ...

  2. sass初步认识1

    sass是一种“css预处理器”,同类的还有less等,方法类似.css预处理器的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的css文件. 使用sass需要先暗转RUBY,再 ...

  3. CSS预处理器——Sass、LESS和Stylus实践

    CSS(Cascading Style Sheet)被译为级联样式表,做为一名前端从业人员来说,这个专业名词并不陌生,在行业中通常称之为“风格样式表(Style Sheet)”,它主要是用来进行网页风 ...

  4. vue-cli + sass 的正确打开方式

    关于在vue-cli搭建的项目中怎么配置sass,网上搜到的基本是这种答案: 但是我认为,直接将样式写在每个单文件的<style>里,是十分不明智的做法.且不说node-sass安装过程的 ...

  5. 初识css预处理器:Sass、LESS

    这篇文章是初步介绍css预处理的,详细学习请移步官网~ 什么是css预处理器 CSS 预处理器是一种语言, 通俗易懂的话来说就是“用一种专门的编程语言,进行 Web 页面样式编写,再通过编译器转化为正 ...

  6. sass、less是什么,如何使用?

    一个很好的介绍的SASS,LESS的区别的文档,值get 1.背景介绍 CSS 是一门非程序式语言,没有变量.函数.SCOPE(作用域),需要书写大量看似没有逻辑的代码,不方便维护及扩 展,不利于复用 ...

  7. nginx配置初步

    nginx配置初步 1,切换至nginx目录,找到配置文件目录 cd /etc/nginx/conf.d 2,拷贝一份conf文件 sudo cp default.conf head.conf 3,进 ...

  8. 前段集成解决方案grunt+yeoman初步认识

    1.什么是前段集成解决方案? 将前端研发领域中各种分散的技术元素集中在一起,并对常见的前端开发问题.不足.缺陷和需求,所提出的一种解决问题的方案 2.yeoman 应用的架构,模型!  相当于一个生成 ...

  9. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

随机推荐

  1. News: Visual Studio Code support debugging Linux Apps

    http://arstechnica.com/information-technology/2015/11/visual-studio-now-supports-debugging-linux-app ...

  2. 仿Smarty替换模板标签时遇到的问题

    最近正在做一个微型的仿TP框架,当然以鄙人之技术只能略仿表层,于是遇到的问题层出不穷.今天做到View层替换模板部分,本以为一下子搞掂的事,果不其然又是败下阵来. 好了,来重点. 模板文件 test1 ...

  3. Winform 控件

    ※控件在视图工具箱里面找,找到之后双击即可添加进来,也可以点住拖进来 ※每个工具,控件,窗体都有一个name,相当于id,用来标识该对象的名称,name值不允许重复 控件: 1.Label -- 文本 ...

  4. 新建一个Activity通过按钮打开它,再通过按钮关闭它

    首先需要创建一个供打开和关闭的Activity,先在scr下当前项目的包中创建一个新类Activity1, 并选择让其继承自Activity类,如下图所示: 之后配置AndroidMainifest. ...

  5. PHP判断手机号码是否合法

    <html> <head> <script language="JavaScript"> function checkMobile(input) ...

  6. Java基础(58):Eclipse中的快捷键大全(转)

    Eclipse快捷键大全(转载) Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行 ...

  7. C#: 数据绑定

    数据绑定是分离UI和后端主逻辑程序的一种好的办法.这里总结下TextBox, Label, ComboBox, ListBox, DataGridView的数据绑定 数据绑定都是通过DB来和UI控件的 ...

  8. PHP isset()与empty()的使用区别详解

    通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言.庞大的函数库支持着PHP语言功能的实现.下面我们为大家介绍有关PHP函数isset()与empty()的相关用法.   PHP的is ...

  9. android命令安装apk时报错:INSTALL_FAILED_CPU_ABI_INCOMPATIBLE

    点击下载Genymotion-ARM-Translation.zip 将你的虚拟器运行起来,将下载好的zip包用鼠标拖到虚拟机窗口中,出现确认对跨框点OK就行.然后重启你的虚拟机.

  10. linux第2天 信号 wait

    孤儿进程和僵尸进程 如果父进程先退出,子进程还没退出那么子进程的父进程将变为init进程.(注:任何一个进程都必须有父进程) 如果子进程先退出,父进程还没退出,那么子进程必须等到父进程捕获到了子进程的 ...