zoukankan      html  css  js  c++  java
  • 【sass】sass的基本特性-基础

    1.声明变量

    注:如果值后面加上!default则表示默认值,此变量为默认变量,否则为普通变量,sass 的默认变量一般是用来设置默认值,然后根据需求来覆盖的,覆盖的方式也很简单,只需要在默认变量之前重新声明下变量即可,另外变量也分为局部变量和全局变量。

    2.变量的调用

    例:

    定义:

    $brand-primary : darken(#428bca, 6.5%) !default; // #337ab7
    $btn-primary-color: #fff !default;
    $btn-primary-bg : $brand-primary !default;
    $btn-primary-border : darken($btn-primary-bg, 5%) !default;

    调用:

    .btn-primary {
       background-color: $btn-primary-bg;
       color: $btn-primary-color;
       border: 1px solid $btn-primary-border;
    }

    编译出来的css:

    .btn-primary {
      background-color: #337ab7;
      color: #fff;
      border: 1px solid #2e6da4;
    }

    3.嵌套-选择器嵌套

    例:

    html:

    <header>
    <nav>
        <a href=“##”>Home</a>
        <a href=“##”>About</a>
        <a href=“##”>Blog</a>
    </nav>
    <header>

    css写法:

    nav a {
      color:red;
    }
    
    header nav a {
      color:green;
    }

    sass:

    nav {
      a {
        color: red;
    
        header & {
          color:green;
        }
      }  
    

    注:注意区分&符的位置,置前表示它为父集,置后代表它为子集,即是对子集的引用

    4.嵌套-属性嵌套

    例子:

    css:

    .box {
        border-top: 1px solid red;
        border-bottom: 1px solid green;
    }

    sass:

    .box {
      border: {
       top: 1px solid red;
       bottom: 1px solid green;
      }
    }

    5.嵌套-伪类嵌套

    css:

    .clearfix:before, .clearfix:after {
      content: "";
      display: table;
    }
    .clearfix:after {
      clear: both;
      overflow: hidden;
    }

    sass:

    .clearfix{
    &:before,
    &:after {
        content:"";
        display: table;
      }
    &:after {
        clear:both;
        overflow: hidden;
      }
    }

    6.混合宏

    1.声明混合宏

    a.不带参数混合宏:在 Sass 中,使用“@mixin”来声明一个混合宏

    @mixin border-radius{
        -webkit-border-radius: 5px;
        border-radius: 5px;
    }

    b.带参数混合宏

    除了声明一个不带参数的混合宏之外,还可以在定义混合宏时带有参数

    @mixin border-radius($radius:5px){
        -webkit-border-radius: $radius;
        border-radius: $radius;
    }

    c.复杂的混合宏:

    @mixin box-shadow($shadow...) {
      @if length($shadow) >= 1 {
        @include prefixer(box-shadow, $shadow);
      } @else{
        $shadow:0 0 4px rgba(0,0,0,.3);
        @include prefixer(box-shadow, $shadow);
      }
    }

    这个 box-shadow 的混合宏,带有多个参数,这个时候可以使用“ … ”来替代。简单的解释一下,当 $shadow 的参数数量值大于或等于“ 1 ”时,表示有多个阴影值,反之调用默认的参数值“ 0 0 4px rgba(0,0,0,.3) ”。

    2.调用混合宏

    7.扩展/继承

    8.占位符

    9.插值

    10.注释

    11.数据类型

    12.字符串

    13.指列表

  • 相关阅读:
    继承ViewGroup:重写onMeasure方法和onLayout方法
    Eclipse插件的四种安装方法
    android 多条短信息发出后的状态怎样判断
    关闭windows的自动更新
    有的放矢,用好软件开发的目标管理
    安卓打包之数字签名
    PHP+jQuery实现Ajax分页效果:jPaginate插件的应用
    使用SqlDataReader获取输出参数
    ServU服务器中文乱码问题的解决
    VPS虚拟主机与VM虚拟主机对比
  • 原文地址:https://www.cnblogs.com/itlichen/p/5946731.html
Copyright © 2011-2022 走看看