暂时使用的是: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语法练习解析--实例练习的更多相关文章

  1. SASS语法备忘

    sass语法 关于sass 3.3.0更新说明——3.3.0 sublime相关插件为:scss语法高亮,sass语法高亮,编译,保存即编译,格式化 文件后缀名 sass有两种后缀名文件:一种后缀名为 ...

  2. SQL[连载2]语法及相关实例

    SQL[连载2]语法及相关实例 SQL语法 数据库表 一个数据库通常包含一个或多个表.每个表由一个名字标识(例如:"Websites"),表包含带有数据的记录(行). 在本教程中, ...

  3. Vue项目中sass语法该怎么用?

    最近开始着手Vue框架,被各种报错蹂躏,其中有一个就是sass语法,<style>标签中添加<style lang="scss">,发现报错,在网上找了一些 ...

  4. JSON解析实例——使用Json-lib

    JSON解析实例——使用Json-lib Json-lib下载及使用 本文介绍用一个类库进行JSON解析. 工具下载地址:http://sourceforge.net/projects/json-li ...

  5. 为sublime text2 添加SASS语法高亮

    以前写CSS时,都是直接写样式,没有任何的第三方工具,后面发现越是面向大网站,越难管理,上次参加完携程UED大会后,发现SASS对于前端团队多人协作和站点代码维护上很有帮助,很多同学都开始用了,我还是 ...

  6. Solr系列五:solr搜索详解(solr搜索流程介绍、查询语法及解析器详解)

    一.solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query ...

  7. JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念

    JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念 <html> <body> <script type="t ...

  8. pcapng文件的python解析实例以及抓包补遗

    为了弥补pcap文件的缺陷,让抓包文件可以容纳更多的信息,pcapng格式应运而生.关于它的介绍详见<PCAP Next Generation Dump File Format> 当前的w ...

  9. 1-3 Sass 语法、编译、调试

    Sass 语法格式 这里说的 Sass 语法是 Sass 的最初语法格式,他是通过 tab 键控制缩进的一种语法规则,而且这种缩进要求非常严格.另外其不带有任何的分号和大括号.常常把这种格式称为 Sa ...

随机推荐

  1. JavaScript中涉及得运算符以及运算符的优先级

    在js中主要有三种运算符:算术运算符,逻辑与比较运算符,位运算符.在着三种运算符中,最常见的应该是算术与比较运算符,位运算符比较少见一些 *说到了运算符,就不得不说运算符的优先级.下面我来列一下这些运 ...

  2. 记录:mac的浏览器访问任何域名、网址都跳转到本地127.0.0.1或固定网址

    新年上班第一天,刚开机就遇到了个小坑,问题是这样,打开浏览器,输入任何网址都跳转到本地的一个项目,该项目在本地Apache配置下,监听的端口是8888,本机访问的形式是127.0.0.1:8888. ...

  3. iOS UIFont 字体名字大全

    Font Family: American TypewriterFont: AmericanTypewriterFont: AmericanTypewriter-Bold Font Family: A ...

  4. golang 实现简单的一致性哈希

    package main import ( "fmt" "sort" "hash/crc32" ) var serverMap map[ui ...

  5. 批处理文件:windows下关闭指定端口

    @echo offsetlocal enabledelayedexpansionset /p port=please input port number:for /f "tokens=1-5 ...

  6. js中boolean类型的理解

    <html> <head> <script type="text/javascript"> var x="12"; aler ...

  7. java基础--面对对象

    面对对象--概述 什么是对象? +---->对象可以泛指一切现实中存着的事物 +---->类是对象的抽象集合 什么是面对对象? +--->万物皆对象,面对对象实际就是人与万物接触== ...

  8. uva1343 IDA*

    这题需要用数组记录每个block的位置.启发函数:d+wa(8-当前最多相同个数)>maxd直接退出 AC代码: #include<cstdio> #include<cstri ...

  9. uva 1151最小生成树

    先求一次最小生成树,可以排除n*(n*1)/2-(n-1)条边,每次利用二进制法枚举套餐的选择,套餐中的点直接处理,如果两个套餐有公共点直接合并,他们一定连通,然后枚举第一步最小生成树得到的n-1条边 ...

  10. Python基于Flask框架配置依赖包信息的项目迁移部署小技巧

    一般在本机上完成基于Flask框架的代码编写后,如果有接口或者数据操作方面需求需要把代码部署到指定服务器上. 一般情况下,使用Flask框架开发者大多数都是选择Python虚拟环境来运行项目,不同的虚 ...