暂时使用的是: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. scope_lock与lock_guard区别

    lock_guard:更加灵活的锁管理类模板,构造时是否加锁是可选的,在对象析构时如果持有锁会自动释放锁,所有权可以转移.对象生命期内允许手动加锁和释放锁. scope_lock:严格基于作用域(sc ...

  2. zabbix server总是stoped,找到此方法解决了问题

    zabbix日志报错: One child process died (PID:8885,exitcode/signal:1). Exiting ... syncing history data... ...

  3. Hive 时间日期处理总结

    最近用hive比较多,虽然效率低,但是由于都是T+1的业务模式.所以也就不要求太多了,够用就行.其中用的吧比较多就是时间了,由于大数据中很多字段都不是标准的时间类型字段,所以期间涉及了很多的时间日期字 ...

  4. maven排除jar包冲突

    首先查看mvn中冲突的包 使用命令:mvn dependency:tree -Dverbose | grep "omitted for conflict with" windows ...

  5. 关于eclipse的mysql连接配置

    打开eclipse,选择Window→Open Perspective→Other→Database Development,然后在右边的导航栏右键点击Database Connections文件夹, ...

  6. HDU - 1213 dfs求联通块or并查集

    思路:给定一个无向图,判断有几个联通块. AC代码 #include <cstdio> #include <cmath> #include <algorithm> ...

  7. mybatis与spring的整合(使用sqlSession进行crud)

    上次介绍了用接口的方法极大的节省了dao层,只需通过 配置文件和接口就可以实现,这次介绍的是通过splsession来实现dao,这种方法比较灵活: 先不说,上配置文件: 1.web.xml < ...

  8. PhpStorm如何下载github上的代码到本地

    1.看着菜单栏有一个VCS(Virus Capture Scripter)集群服务器的选项,选择其下面的Checkout from Version Control,然后 (1)选择GIT:输入git的 ...

  9. 面试为什么需要了解JVM

    匠心零度 转载请注明原创出处,谢谢! 说在前面 如果你经常注意面试题,你会发现现在面试题多多少少会含有jvm相关的面试题,之前也把一些jvm面试题汇总了下:面试题系列一,那么为什么现在面试需要了解或者 ...

  10. Linux分区和挂载(mount命令的学习)

    当Windows系统出现问题的时候,可能需要重装系统,这个时候我们往往会使用系统盘将系统重新安装在C盘上,其他盘上的文件都没有受到重装系统的影 响,这就是分区的好处之一.同样,在Linux中也需要分区 ...