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 ...
随机推荐
- MySQL 行锁 表锁机制
MySQL 表锁和行锁机制 行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑.遇到了可别乱踩.通过本章内容,带你学习MySQL的行锁 ...
- Python正则表达式返回首次匹配到的字符及查询的健壮性
re.findall(pattern,string)会搜索所有匹配的字符,返回的是一个列表,获取首个匹配需要re.findall(pattern,string)[0]访问, 但是如果findall没匹 ...
- hadoop的安装和配置(二)伪分布模式
博主会用三篇文章为大家详细的说明hadoop的三种模式: 本地模式 伪分布模式 完全分布模式 伪分布式模式: 这篇为大家带来hadoop的伪分布模式: 从最简单的方面来说,伪分布模式就是在本地模式上修 ...
- Spring入门之IOC
IOC/DI: Spring最核心的灵魂,IOC/DI(控制反转/依赖注入)!,这里一定要理解他,理解这个思想.我会细说什么是IOC/DI.他的思想是什么.它带来了那些好处. 进入正题,先说说什么是i ...
- 记录一次APP的转让流程
由于业务需要,需要将开发的App从一个账号(A账号)转移到另一个账号(B账号),这里简单介绍一下转让流程.主要包括两大步骤: 转让方(A账号)提出转让申请 接收方(B账号)接受转让App 如果不想看这 ...
- springboot 静态方法注入service
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 16.0px; font: 14.0px Arial; color: #3f3f3f; bac ...
- js测试地址
很多时候,想写js测试代码,比如在学习的时候.看书敲代码,每次打开VS还是很麻烦的.特别是需要加载一些库的时候. 此时有个工具可以解决: https://jsfiddle.net/ 也是在别人的博客里 ...
- iframe标签里面的页面元素只读
iframe标签里面的页面元素只读,可以通过设置一个只读的透明div进行遮罩实现. html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...
- 【经验分享】Hydra(爆破神器)使用方法
这个也是backtrack下面很受欢迎的一个工具 参数详解:-R 根据上一次进度继续破解-S 使用SSL协议连接-s 指定端口-l 指定用户名-L 指定用户名字典(文件)-p 指定密码破解-P 指定密 ...
- BZOJ:4333: JSOI2012 智者的考验
4333: JSOI2012 智者的考验 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 68 Solved: 18[Submit][Status][ ...