• SASS语法学习


    一、嵌套

    1.选择器嵌套

    <header>
    <nav>
        <a href=“##”>Home</a>
        <a href=“##”>About</a>
        <a href=“##”>Blog</a>
    </nav>
    <header>
    nav {
      a {
        color: red;
    
        header & {
          color:green;
        }
      }  
    }

    2.属性嵌套

    .box {
      border: {
        12px;
       style: bold;
      }  
    }

    等于

    .box {
    
      border-width: 12px;
    
      border-style: bold; }

    二、混合宏

    1.声明混合宏

    @mixin border-radius($radius){    //它可以传递多个参数,也可以不传递任何参数
      -webkit-border-radius: $radius;
      border-radius: $radius;
    }

    2.调用混合宏

    button {
        @include border-radius(3px);
    }

    三、扩展/继承

    .btn {
      border: 1px solid #ccc;
      padding: 6px 10px;
      font-size: 14px;
    }
    
    .btn-primary {
      background-color: #f36;
      color: #fff;
      @extend .btn;
    }
    
    .btn-second {
      background-color: orange;
      color: #fff;
      @extend .btn;
    }
    

    四、占位符

    %pt5{
      padding-top: 5px;
    }
    //这段代码要是没有被 @extend 调用,他并没有产生任何代码块,只是静静的躺在你的某个 SCSS 文件中。只有通过 @extend 调用才会产生代码:
    .btn {
      @extend %pt5;
    }

    五:插值

    $properties: (margin, padding);
    @mixin set-value($side, $value) {
        @each $prop in $properties {
            #{$prop}-#{$side}: $value;
        }
    }
    .login-box {
        @include set-value(top, 14px);
    }
    
    //结果
    .login-box {
        margin-top: 14px;
        padding-top: 14px;
    }
    //构建一个选择器
    @mixin generate-sizes($class, $small, $medium, $big)
    { .#{$class}-small { font-size: $small; } .#{$class}-medium { font-size: $medium; } .#{$class}-big { font-size: $big; } } @include generate-sizes("header-text", 12px, 20px, 40px); //结果 .header-text-small { font-size: 12px; } .header-text-medium { font-size: 20px; } .header-text-big { font-size: 40px; }
  • 相关阅读:
    django入门系列 -表单视图
    django学习 -模型层初体验
    python 元组与list的区别
    解决容器内部无法访问宿主机端口的问题
    记一次pyccharm Terminal django 执行 python migrate 无法生成新的数据表的报错过程
    ES学习之ES语法入门
    docker seleniumgrid 问题解决
    selenium的Grid方式遇到 1 requests waiting for a slot to be free. 问题
    js写的ajax
    ajax jQ写的上传进度条
  • 原文地址:https://www.cnblogs.com/yzg1/p/4723646.html
Copyright © 2020-2023  润新知