暂时使用的是:Koala,监测转义
$fff: #ffffff;
$red:red;
h1{
color: $fff;
}
简单调用
#content{
color: $fff;
.con{
content: $red;
}
}
或者:
#content,#nei{
a{
color: $fff;
}
}
#content a{color: #fff; }
#nei a{color: #fff; }
嵌套(css里面嵌套要复制什么的,挺麻烦)
#content a{
color: $fff;
&:hover{
color: $red;
}
}
或者:
#content a{
color:$fff;
body.ie &{
color: $red
}
}
//当body的class为ie的时候,#content a的颜色为red颜色
&是父级标识符~
article{
~article{border-top: 1px dashed #ccc }
>section{background: #eee }
dl>{
dt{color: #333 }
dd{color: #555 }
}
nav+ & {margin-top: 0 }
}
article ~article{border-top: 1px dashed #ccc }
article>section{background: #eee }
article dl>dt{color: #333 }
article dl>dd{color: #555 }
nav+article{margin-top: 0 }
nav{
border:{
color:$fff;
style:solid;
width:1px;
}
}
编译出来后:nav{ border-style: solid; border-width: 1px; border-color: #ccc;}
还有中嵌套方法:
nav{
border:red solid 1px {
left:0px;
right:0px;
}
}
编译出来就是: nav { border: 1px solid #ccc; border-left: 0px; border-right: 0px; }
注:sass的变量是可覆盖的,也就是说可以重复,后面的覆盖前面的
$fancybox-width: 400px !default;
defult相当于css里的!important,不过!defult是应用于变量的,且,其含义是,如果该变量已声明赋值,则无效,否则,就用这个defult的值,也就是设置变量默认值
sass支持局部导入,即是在css规则内导入:例:
a{
background:red;
color:blue;
}
上面这个是theme.scss的内容
.content{
@import "theme";
//只有在content这个类内才会使用theme.scss的样式
}
输出结果:
.content a{
background:red;
color:blue;
}
sass中导入css不会用,
sass中的注释相关:
/*这种注释编译后会显示在css中*/
//这种注释编译后只会显示在scss中而不会显示到css中
body { color /* 这块注释内容不会出现在生成的css中 */: #333; padding: 1; /* 这块注释内容也不会出现在生成的css中 */ 0;}
混合器
@mixin name{
border-radius:5px;
-webkit-border-radius:5px;
-o-border-radius:5px;
}
.btn{
background:red;
@include name;
}
输出为:
.btn{
background:red;
border-radius:5px;
-webkit-border-radius:5px;
-o-border-radius:5px;
}
这种写法的话好在公用模块,以后调用起来相同样式会很轻松,不过一般是用来处理hack的
还有种技巧是:
@mixin ulPublic{
color:red;
li{
color:blue;
}
}
ul{
@include ulPublic;
}
输出是:
ul {
color: red;
}
ul li {
color: blue;
}
还有下面这种写法:
@mixin olpublic($defult,$hover,$active ){
li a{
color: $defult;
&:hover {color: $hover};
&:active {color: $active };
}
}
ol{
@include olpublic(red,yellow,green);
}
输出:
ol li a {
color: red;
}
ol li a:hover {
color: yellow;
}
ol li a:active {
color: green;
}
(感觉有了sass会快捷很多,同时也会增加模块化的概念)
下面的写法是模块化公用:
@mixin module(
$normal,
$hover: $normal,
$link: $normal
)
{
color: $normal;
&:hover{color:$hover}
&:link{color:$link}
}
.module span{
@include module(yellow);
}
输出为:
.module span {
color: yellow;
}
.module span:hover {
color: yellow;
}
.module span:link {
color: yellow;
}
统一调用
注:混合选择器不仅包含css规则,也包含选择器和选择器中的属性
继承@extend
@mixin name{
border-radius:5px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
-o-border-radius:5px;
-ms-border-radius:5px;
}
.btn{
background: $fff;
color: $fff;
border: $borderNo;
@include name;
}
.extend span{
@extend .btn;
}
会输出:
.btn, .extend span {
background: #7abbff;
color: #7abbff;
border: none;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
-o-border-radius: 5px;
-ms-border-radius: 5px;
}
继承比较高级的应用:
直接继承元素原生属性。。。(不对,只能继承自己写的)
注释:最常用的一种高级用法是继承一个html元素的样式。尽管默认的浏览器样式不会被继承,因为它们不属于样式表中的样式,但是你对html元素添加的所有样式都会被继承
- SASS语法备忘
sass语法 关于sass 3.3.0更新说明——3.3.0 sublime相关插件为:scss语法高亮,sass语法高亮,编译,保存即编译,格式化 文件后缀名 sass有两种后缀名文件:一种后缀名为 ...
- SQL[连载2]语法及相关实例
SQL[连载2]语法及相关实例 SQL语法 数据库表 一个数据库通常包含一个或多个表.每个表由一个名字标识(例如:"Websites"),表包含带有数据的记录(行). 在本教程中, ...
- Vue项目中sass语法该怎么用?
最近开始着手Vue框架,被各种报错蹂躏,其中有一个就是sass语法,<style>标签中添加<style lang="scss">,发现报错,在网上找了一些 ...
- JSON解析实例——使用Json-lib
JSON解析实例——使用Json-lib Json-lib下载及使用 本文介绍用一个类库进行JSON解析. 工具下载地址:http://sourceforge.net/projects/json-li ...
- 为sublime text2 添加SASS语法高亮
以前写CSS时,都是直接写样式,没有任何的第三方工具,后面发现越是面向大网站,越难管理,上次参加完携程UED大会后,发现SASS对于前端团队多人协作和站点代码维护上很有帮助,很多同学都开始用了,我还是 ...
- Solr系列五:solr搜索详解(solr搜索流程介绍、查询语法及解析器详解)
一.solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query ...
- JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念
JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念 <html> <body> <script type="t ...
- pcapng文件的python解析实例以及抓包补遗
为了弥补pcap文件的缺陷,让抓包文件可以容纳更多的信息,pcapng格式应运而生.关于它的介绍详见<PCAP Next Generation Dump File Format> 当前的w ...
- 1-3 Sass 语法、编译、调试
Sass 语法格式 这里说的 Sass 语法是 Sass 的最初语法格式,他是通过 tab 键控制缩进的一种语法规则,而且这种缩进要求非常严格.另外其不带有任何的分号和大括号.常常把这种格式称为 Sa ...
随机推荐
- 高可用Redis服务架构分析与搭建
基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量 ...
- 用UltraISO制作CentOS U盘安装盘
1 下载UltraISO 网上有很多版本,下个绿色版的就ok了. 下载地址:http://www.pc6.com//softview/SoftView_13698.html 2 下载Cen ...
- SQL SERVER FOR LINUX初体验
今天得空,就在Ubuntu17.04上安装了SQL SERVER 2017体验下,总体来说还是不错的. 在Ubuntu上安装SQL SERVER 2017还是比较方便的,只需几条命令即可: curl ...
- EF的Join()和Include()差异性教程
在EF中表连接常用的有Join()和Include(),两者都可以实现两张表的连接,但又有所不同. 1.Join(),两表不必含有外键关系,需要代码手动指定连接外键相等(具有可拓展性,除了值相等,还能 ...
- SDP(8):文本式数据库-MongoDB-Scala基本操作
MongoDB是一种文本式数据库.与传统的关系式数据库最大不同是MongoDB没有标准的格式要求,即没有schema,合适高效处理当今由互联网+商业产生的多元多态数据.MongoDB也是一种分布式数据 ...
- .NET中的按需加载/延迟加载 Lazy<T>
业务场景: 在项目开发中,经常会遇到特定的对象使用的加载问题,有的实例对象我们创建之后并非需要使用,只是根据业务场景来调用,所以可能会导致很多无效的实例加载 延迟初始化出现于.NET 4.0,主要用于 ...
- FFmepg 如何在 window 上使用?
下载FFmepg官网库直接使用即可. avdevice.lib avcodec.lib avfilter.lib avformat.lib avutil.lib postproc.lib swresa ...
- csrf
什么是CSRF: CSRF(Cross-site request forgery),中文名称:跨站请求伪造 攻击者盗用了你的身份,以你的名义发送恶意请求.CSRF能够做的事情包括:以你名义发送邮件,发 ...
- ubuntu11.04启动 及虚拟文件系统
虚拟文件系统(VFS)是由Sun microsystems公司在定义网络文件系统(NFS)时创造的.它是一种用于网络环境的分布式文件系统,是允许和操作系统使用不同的文件系统实现的接口.虚拟文件系统(V ...
- Access denied for user(这个几乎让我怀疑人生的异常)
昨天一时兴起,打算根据自己的某些想法,业余时间写一个简单的项目,用以巩固那些重要的知识,以及练手一些即将学习的技术. 然而才一开始,便有一盆冷水迎面而来,在搭建整个框架环境的时候竟然就被卡住了!主要是 ...