• Sass入门


    Variables

    想想变量作为一种存储信息的方式,您希望在整个样式表中重用这些信息。你可以存储颜色,字体堆栈或任何你认为你想要重用的CSS值。 Sass使用$符号使某个变量。

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

    Nesting嵌套

    当编写HTML时,你可能注意到它有一个清晰的嵌套和可视的层次结构。 另一方面,CSS不。

    Sass将允许你嵌套你的CSS选择器的方式遵循你的HTML的相同的视觉层次结构。请注意,过度嵌套的规则将导致过度合格的CSS,可能证明很难维护,通常被认为是不良做法。

    考虑到这一点,以下是网站导航的一些典型样式的示例:

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

    这是一个很好的方式来组织你的CSS,使其更加可读。

    Partials部分

    您可以创建部分Sass文件,其中包含少量的CSS代码片段,您可以将其包含在其他Sass文件中。这是一个很好的方式来模块化你的CSS,并帮助保持事情更容易维护。一个部分只是一个以前导下划线命名的Sass文件。你可以命名它像_partial.scss。下划线让Sass知道该文件只是一个部分文件,并且它不应该生成到一个CSS文件中。 Sass分支与@import指令一起使用。

    Import导入

    CSS有一个导入选项,允许您将CSS拆分为更小,更易于维护的部分。唯一的缺点是每次在CSS中使用@import时,它会创建另一个HTTP请求。 Sass构建在当前CSS @import的顶部,但是不需要一个HTTP请求,Sass将接收您要导入的文件,并将其与您要导入的文件合并,以便可以将一个CSS文件提供给Web浏览器。

    假设你有几个Sass文件,_reset.scss和base.scss。我们要将_reset.scss导入base.scss。

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

    注意我们使用@import'reset';在base.scss文件中。导入文件时,不需要包括文件扩展名.scss。 Sass很聪明,会为你找到。

    Mixins混合

    CSS中的一些东西有点乏味,写,特别是与CSS3和许多供应商前缀存在。 mixin允许您创建一组CSS声明,以便在整个网站中重复使用。你甚至可以传递值来使你的mixin更灵活。对mixin的一个好的使用是供应商前缀。这里有一个border-radius的例子。

    @mixin border-radius($radius) {
      -webkit-border-radius: $radius;
      -moz-border-radius: $radius;
      -ms-border-radius: $radius;
      border-radius: $radius;
    }
    
    .box {
      height: 100px;
      width:100px;
      background-color: lightcoral;
      @include border-radius(10px);
    }

    要创建一个混合,你使用@mixin指令并给它一个名字。我们命名了我们的mixin border-radius。我们还在括号中使用变量$ radius,所以我们可以传递任何我们想要的半径。创建mixin后,您可以将其用作CSS声明,以@include开头,然后是mixin的名称。

    Extend/Inheritance扩展/继承

    这是Sass最有用的功能之一。使用@extend可以将一组CSS属性从一个选择器共享到另一个。它有助于保持你的Sass非常干燥。在我们的示例中,我们将为错误,警告和成功创建一个简单的消息传递系列。

    .message {
      border:1px solid #ccc;
      padding:10px;
      color:#333;
    }
    
    .success {
      @extend .message;
      border-color:green;
    }
    
    .error {
      @extend .message;
      border-color:red;
    }
    
    .warning {
      @extend .message;
      border-color: yellow;
    }

    上面的代码做的是允许你使用.message中的CSS属性,并将它们应用到.success,.error和&warning。神奇的事情发生在生成的CSS,这有助于避免不得不在HTML元素上写多个类名。

    Operators操作符

    在你的CSS中做数学是非常有帮助的。 Sass有一些标准的数学运算符,如+, - ,*,/和%。在我们的例子中,我们将做一些简单的数学计算宽度的aside和article。

    article[role='main'] {
      background-color: lightgoldenrodyellow;
      float:left;
      width:600px/960px * 100%;
    }
    
    aside[role='complementary'] {
      background-color: lightpink;
      float:left;
      width:300px/960px * 100%;
    }

    我们创建了一个非常简单的流体网格,基于960px。 Sass中的操作让我们做像像素值的操作,并将其转换为百分比,而不会有太多麻烦。

    复制于http://sass-lang.com/guide

  • 相关阅读:
    shell中的交互模式:expect
    hive(II)--sql考查的高频问题
    ETL工具--kettle篇(17.10.09更新)
    hive(I)--学习总结之常用技能
    ubantu上搭建hive环境
    shell实例练习+详解
    搭建hadoop、hdfs环境--ubuntu(完全分布式)
    oracle 获取一个字段的年月日
    oracle 两表更新 报错ORA-01779: 无法修改与非键值保存表对应的列
    oracle 查看表空间 添加数据文件
  • 原文地址:https://www.cnblogs.com/naergaga/p/6358119.html
Copyright © 2020-2023  润新知