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.指列表

  • 相关阅读:
    九.Spring Boot JPAHibernateSpring Data
    JIRA安装过程中链接mysql的问题!
    五、案例-指令参考-freemarker指令、表达式
    四、模版指令操作
    三、freemarker数据、模版指令
    二、freemarker.controller半自动静态化+Tomcat虚拟资源映射
    一、springMVC、freemarker页面半自动静态化
    window窗口-button(按钮)-dialog(对话框,带按钮)
    panel面板
    python 给定年份、月份,返回当月对应天数
  • 原文地址:https://www.cnblogs.com/itlichen/p/5946731.html
Copyright © 2011-2022 走看看