• scss简单使用总结


    1、使用全局变量

    $font-stack: Helvetica, sans-serif;
    $primary-color: #333;
    
    body {
      font: 100% $font-stack;
      color: $primary-color;
    }

    2、嵌套使用

    nav {
      ul {
        margin: 0;
        padding: 0;
        list-style: none;
      }
    
      li { display: inline-block; }
    
      a {
        display: block;
        padding: 6px 12px;
        text-decoration: none;
      }
    }

    3、引入别的文件

    // _reset.scss
    html, body, ul, ol {
      margin:  0;
      padding: 0;
    }
    
    // base.scss
    @import 'reset';
    body {
      font: 100% Helvetica, sans-serif;
      background-color: #efefef;
    }

    SASS中引入片断时,可以缺省使用文件扩展名,因此上面代码中直接通过@import 'reset'引入,编译后生成的代码如下:

    html, body, ul, ol {
      margin: 0;
      padding: 0; }
    
    body {
      font: 100% Helvetica, sans-serif;
      background-color: #efefef; }

    4、混合

    @mixin border-radius($radius) {
              border-radius: $radius;
          -ms-border-radius: $radius;
         -moz-border-radius: $radius;
      -webkit-border-radius: $radius;
    }
    
    .box {
      @include border-radius(10px);
    }
    
    /*使用之后*/
    .box {
      border-radius: 10px;
      -ms-border-radius: 10px;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px; }

    混合也可以这样用

    @mixin df {
        display: -webkit-flex;
        display: -moz-flex;
        display: flex;
    }
    
    /*使用*/
    .test{
        @include fa;
    }

    5、继承,继承是SASS中非常重要的一个特性,可以通过@extend指令在选择器之间复用CSS属性,并且不会产生冗余的代码

    // 这段代码不会被输出到最终生成的CSS文件,因为它没有被任何代码所继承。
    %other-styles {
      display: flex;
      flex-wrap: wrap;
    }
    
    // 下面代码会正常输出到生成的CSS文件,因为它被其接下来的代码所继承。
    %message-common {
      border: 1px solid #ccc;
      padding: 10px;
      color: #333;
    }
    
    .message {
      @extend %message-common;
    }
    
    .success {
      @extend %message-common;
      border-color: green;
    }
    
    .error {
      @extend %message-common;
      border-color: red;
    }
    
    .warning {
      @extend %message-common;
      border-color: yellow;
    }
    
    /*解析之后*/
    .message, .success, .error, .warning {
      border: 1px solid #ccc;
      padding: 10px;
      color: #333; }
    
    .success {
      border-color: green; }
    
    .error {
      border-color: red; }
    
    .warning {
      border-color: yellow; }

    6、操作符

    .container { width: 100%; }
    
    article[role="main"] {
      float: left;
      width: 600px / 960px * 100%;
    }
    
    aside[role="complementary"] {
      float: right;
      width: 300px / 960px * 100%;
    }
    
    /*使用之后*/
    .container {
      width: 100%; }
    
    article[role="main"] {
      float: left;
      width: 62.5%; }
    
    aside[role="complementary"] {
      float: right;
      width: 31.25%; }

    7、引用父级选择器"&"

    /*===== SCSS =====*/
    a {
      font-weight: bold;
      text-decoration: none;
      &:hover { text-decoration: underline; }
      body.firefox & { font-weight: normal; }
    }
    
    /*===== CSS =====*/
    a {
      font-weight: bold;
      text-decoration: none; }
      a:hover {
        text-decoration: underline; }
      body.firefox a {
        font-weight: normal; }
  • 相关阅读:
    基于OpenSSL自建CA和颁发SSL证书
    SSL与TLS的区别以及介绍
    Ubuntu中Nginx的安装与配置
    Openssl源代码整理学习---含P7/P10/P12说明
    动态加载js文件
    常用方法
    对reducers 理解
    小复习(3)
    如何使移动web页面禁止横屏?
    九个Console命令,让 JS 调试更简单
  • 原文地址:https://www.cnblogs.com/chao202426/p/11557500.html
Copyright © 2020-2023  润新知