zoukankan      html  css  js  c++  java
  • Sass的浅谈

    不知道大家开发网页样式,是用CSS呢,还是SASS呢。

    CSS它并不是一种编程语言,你可以用它来开发网页,但是没法用它编程,意思就是说,CSS基本上是设计师的工具,不是程序员的工具。在程序员眼里,CSS是一件很麻烦的东西,它没有变量,也没有条件语句,只是单纯的描述,写起来相当费事。

    一、SASS的定义

      SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省设计者的时间,使得CSS的开发,变得简单和可维护 。

    二、SASS安装与使用

      1.安装

      SASS是Ruby语言写的,但是两者的语法没有。必须先安装Ruby,然后在安装SASS。

      2.使用

      SASS文件就是普通的文本文件,里面可以直接使用CSS语法。文件后缀名是.sass,意思为Sassy CSS。

      .sass文件需要转化为CSS代码。

      SASS提供四个编译风格的选项:

        *nested:嵌套缩进的CSS代码,它是默认值。

        *expanded:没有缩进的、扩展的CSS代码。 

        *compact:简洁格式的CSS代码。

        *compressed:压缩后的css代码。

      生产环境中,一般使用最后一个选项进行编译。

        sass --style compressed test.sass test.css

      也可以让SASS监听某个文件或目录,一旦源文件有变动,就自动生成编译后的版本。

        //watch a file

        sass --watch test.scss:output.css

        //watch a directory

        sass --watch app/css

    三、基本用法

      1.变量

      SASS允许使用变量,所有变量以$开头。

        $gray:#dcdcdc;

        div{  

          color: $gray;

        }

      2.计算功能

      SASS允许在代码中使用算式:

        body{

          margin: (14px/2);

          top:  50px + 100px;

          right:  $var * 10%;

        }

      3.嵌套

      SASS允许选择器嵌套。

          下面是css代码

          div ul{

          }

       可以写成

          div{

            ul{

            }

          }

    四、代码重用。

      1.继承

      SASS允许一个选择器,继承另一个选择器。比如,现有一个class。

        .class{

          border:1px solid #dcdcdc;

        }

      class2要继承class1,就要使用@extend命令:

        .class2{

          @extend  .class1;

          font-size:120%;

        }

      2.Mixin

      Mixin有点像C语言的宏(macro),是可以重用代码块。

      使用@mixin命令,定义一个代码块。

        @mixin left{

          float:  left;

          margin-left: 10px;

        }

      使用@include命令,调用这个mixin。

        div {
           @include left;
        }

      mixin的强大之处,在于可以指定参数和缺省值。
        @mixin left($value: 10px) {
          float: left;
          margin-right: $value;
        }

      使用的时候,根据需要加入参数:
        div {
          @include left(20px);
        }

      3.插入文件

      @import命令,用来插入文件外部文件。

        @import "path/filename.scss";

      如果插入的是.css文件,则等同于css的import命令。

        @import "foo.css";

    五、高级用法

      1.条件语句。

      @if可以用来判断:

        p {
          @if 1 + 1 == 2 { border: 1px solid; }
          @if 5 < 3 { border: 2px dotted; }
        }

      配套的还有@else命令:
        @if lightness($color) > 30% {
          background-color: #000;
        } @else {
          background-color: #fff;
        }

      2.循环语句。

      SASS支持for循环。

        @for $i from 1 to 10 {
          .border-#{$i} {
            border: #{$i}px solid blue;
          }
        }

      也支持while循环

        $i: 6;

        @while $i > 0 {
          .item-#{$i} { 2em * $i; }
          $i: $i - 2;
        }

      each命令,作用与for类似:
        @each $member in a, b, c, d {
          .#{$member} {
            background-image: url("/image/#{$member}.jpg");
          }
        }

      3.自定义函数
      SASS允许用户编写自己的函数。
        @function double($n) {
          @return $n * 2;
        }
        #sidebar {
           double(5px);
        }

  • 相关阅读:
    Windows环境下多线程编程原理与应用读书笔记(7)————事件及其应用
    Windows环境下多线程编程原理与应用读书笔记(6)————临界段及其应用
    Windows环境下多线程编程原理与应用读书笔记(5)————互斥及其应用
    [bzoj1910] [Ctsc2002] Award 颁奖典礼
    [bzoj4411] [Usaco2016 Feb]Load balancing
    [bzoj2654] tree
    [bzoj4410] [Usaco2016 Feb]Fence in
    [bzoj3143] [Hnoi2013]游走
    [bzoj1826] [JSOI2010]缓存交换
    [bzoj1483] [HNOI2009]梦幻布丁
  • 原文地址:https://www.cnblogs.com/wendy-home-5678/p/6605284.html
Copyright © 2011-2022 走看看