sass和compass实战 读书笔记(一)
sass优势: 不做重复的工作
一 消除样式表冗余(通过变量赋值的方式)
1. 通过变量来复用属性值
2. 使用嵌套来快速写出多层级的选择器
3. 通过混合器来复用一段样式
4. 使用选择器继承来避免重复属性
sass通过配置文件config.rb配置文件输出路径
sass基础语法
变量声明 局部变量和全局变量的概念 css代码块中定义的变量就是局部变量
$base-border:1px solid #ccc;
$plain-font:Helvetica、"Microsoft Yahei";
变量可以套用变量
$heightLight-color: #abcedf;
$heightLight-border: 1px $heightLight-color solid;
变量命名使用中划线和下划线的结果相同
$color_btn:red;
$color-btn:green;
button{color: $color_btn;} ----编译结果---- >button{color: green;} 样式被覆盖 结果就是green
父选择器
&
.test{
color:red;
&:hover{
color:green;
}
}
--编译-->
.test{color:red;}
.test:hover{color:green;}
群组选择器的嵌套
.container{
h1, h2, h3{
margin-right:5px;
span{
color: red;
}
}
}
--编译之后---->
.container h1, .container h2, .container h3 {
margin-right: 5px;
}
.container h1 span, .container h2 span, .container h3 span {
color: red;
}
子组合选择器和同层组合选择器 > + ~
> 选择一个元素的直接子元素 article > section{border:1px solid #ccc;}
+ 同层相邻组合器 header + p{ color: red;} 紧邻header的p标签的color:red;
<header><p>我的字体不是红色的</p></header>
<p>我的字体是红色的</p>
<p>我的字体不是红色的</p>
~ 同层所有选择器 article ~section{border: 1px solid #ccc} 所有跟在article同层之后的section都修饰 在article之前的section不被渲染样式
sass的导入
@import 导入scss文件 可以全局导入和局部导入
//先定一个一个名为_blue-theme的scss局部文件
aside{
background:red;
color:white;
} //另一个文件内部
@import "blue-theme"; // 引用文件可以不带下划线 后缀名 也可以局部引入
div{
@import "blue-theme";
}
--编译生成文件-->
div{
aside{
background:red;
color:white;
}
}
混合器传参
@mixin link-colors($normal, $hover, $visited){
color: $normal;
&:hover{color: $hover;}
&:visited{color: $visited}
}
div{
@include link-colors(red,black,white); //第一种方式调用
@include link-colors(
$normal:red,
$hover :black,
$visited:white
); //第二种方式调用
}
sass和compass实战 读书笔记(一)的更多相关文章
- sass与compass实战(读书笔记)
// compass create myproject // compass compile // compass compile --force 重新编译未改动的 // compass compil ...
- 机器学习实战 - 读书笔记(13) - 利用PCA来简化数据
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第13章 - 利用PCA来简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. ...
- 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...
- 机器学习实战 - 读书笔记(11) - 使用Apriori算法进行关联分析
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第11章 - 使用Apriori算法进行关联分析. 基本概念 关联分析(associat ...
- 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是, ...
- iPhone与iPad开发实战读书笔记
iPhone开发一些读书笔记 手机应用分类1.教育工具2.生活工具3.社交应用4.定位工具5.游戏6.报纸和杂志的阅读器7.移动办公应用8.财经工具9.手机购物应用10.风景区相关应用11.旅游相关的 ...
- Spring实战读书笔记
Spring实战读书笔记 Spring-core Spring之旅 - DI 和 AOP 概念 spring 的Bean容器 spring 的 核心模块 Spring的核心策略 POJO 最小侵入式编 ...
- <<Java RESTful Web Service实战>> 读书笔记
<<Java RESTful Web Service实战>> 读书笔记 第一章 JAX-RS2.0入门 REST (Representational State ransf ...
- [已读]Sass与Compass实战
介绍了Sass基础语法与Compass框架,这个网上参考文档就OK了,另外介绍了compass生成图片精灵和相应的css,貌似现在单纯用sass和compass的挺少,要不grunt,要不FIS,而g ...
随机推荐
- jsp 之 解决mysql不是内部或外部命令问题
安装Mysql后,当我们在cmd中敲入mysql时会出现'Mysql'不是内部或外部命令,也不是可运行的程序或其处理文件. 打开我的电脑在我的电脑右键中选择属性,然后单击选择高级系统设置. 在系统属性 ...
- 自学Aruba之路
自学Aruba之路[第一回]:体系结构 1.1 自学Aruba1.1-Aruba体系结构-产品线 1.2 自学Aruba1.2-WLAN一些基本常识 1.3 自学Aruba1.3-W ...
- ionic2 安装(一)
1.安装java JDK 2.安装nodejs 3.安装最新版ionic 指令:npm install ionic@latest 4.安装cordova 指令:npm install -g cordo ...
- 关于 for 循环与 循环嵌套
FOR循环精讲 > 1.初步结识 for是写出题的重要组成部分之一,每个题如果没有for循环根本是无法做出来的,可见for循环在c++语言中是有多么重要,那么for的格式是怎样的呢?? for( ...
- spring中Order注解
Spring在加载Bean的时候,有用到order注解. PS:顾名思义,Order是顺序,此注解可操作于类.方法.字段,当作用在类时,值越小,则加载的优先级越高! @Retention(Retent ...
- HDU 2296:Ring
Problem Description For the hope of a forever love, Steven is planning to send a ring to Jane with a ...
- DataURL与File,Blob,canvas对象之间的互相转换的Javascript
canvas转换为dataURL (从canvas获取dataURL) var dataurl = canvas.toDataURL('image/png'); var dataurl2 = canv ...
- linux(CENTOS)系统各个目录的作用详解
Linux(CentOS)系统各个目录的作用详解 文件的类型 LINUX有四种基本文件系统类型:普通文件.目录文件.连接文件和特殊文件,可用file命令来识别. 普通文件:如文本文件.C语言元代码.S ...
- Linux安装python3.5
如果你使用的是Linux发行版,例如Ubantu,那么你的系统中可能已经安装好python了.可以使用python -v来测试一下: ortonwu@ubuntu:~$ python -V Pytho ...
- Django App(一) StartApp
经过配置Pycharm在上一次的笔记中,已经解决了编写Django web程序调试的问题,这篇将记录Django官网提供的例子程序! 1.查看Pycharm terminal是否可用 ...