zoukankan      html  css  js  c++  java
  • CSS预处理器Sass -- Sass、Less、Stylus比较(2)

    前言:本节主要学习下Sass、Less、Stylus在使用方面的异同。

    1.环境安装配置区别。

      <1>Sass环境配置?

        Sass的底层是Ruby语言开发的,安装Sass前提需要先安装Ruby,安装过程参考 https://www.cnblogs.com/diweikang/p/9609825.html

           <2>Less环境配置?

        浏览器端用法:

          <1>、引入Less文件 <link rel="stylesheet/less" type="text/css" href="styles.less" />

          <2>、使用JS文件编译,执行<script src="less.js" type="text/javascript"></script>,会将styles.less编译为styles.css文件。

        node安装:运行命令 npm install -g less,然后使用require('less')引入项目中使用。

        参考Less官网:http://lesscss.cn/

      <3>Stylus的安装?

        前提先安装node,命令行运行npm install -g stylus,然后使用require('stylus')引入项目中使用。

    2.写法格式异同。

      <1>Sass的写法格式

          缩进格式:旧版本写法,无需大括号和分号结尾。

    h1 
        color: red
        a
            color: green

          兼容CSS的写法:大括号包含,同时必须分号结尾

    h1 {
        color: red;
        a {
            color: green;
        }
    }

           <2>Less的写法格式

        Less同样是兼容CSS的写法,同Sass的第二种写法。

    h1 {
        color: red;
        a {
            color: green;
        }
    }

      <3>Stylus写法格式

        Stylus的写法更灵活:

        缩进格式:

    h1 
        color: red
        a
            color: green

        兼容CSS格式:

    h1 {
        color: red;
        a {
            color: green;
        }
    }

        怪异写法:

    h1
        color red
        a
            color green
     

      注意:三种写法可以混用。

    3.变量声明异同

      <1>Sass的变量声明?

        Sass变量声明是以$符号开头的。

    $colorRed: red;
    $colorGreen: green;
    h1 {
        color: $colorRed;
        a {
            color: $colorGreen;
        }
    }

           <2>Less的变量声明

        Less变量声明是以@符号开头的。

    @colorRed: red;
    @colorGreen: green;
    h1 {
        color: @colorRed;
        a {
            color: @colorGreen;
        }
    }

      <3>Stylus变量声明

        Stylus变量声明可以以任意字符开头,没有过多的限制。

    $colorRed: red;   //可以以$符号开头
    colorGreen: green;  //可以直接写
    h1 {
        color: $colorRed;
        a {
            color: colorGreen;
        }
    }

    4.混入的异同

      <1>Sass的混入

        @开头,其中的参数便令使用$符号开头。

        @mixin alert($color: red) {
            color: $color;
        }

           <2>Less的混入

        .开头,其中的参数便令使用@符号开头。

        .alert(@color: red) {
            color: @color;
        }

      <3>Stylus混入

       直接是函数名,参数就是正常的函数命名形式。

        alert(colorArg: red) {
            color: colorArg;
        }

    5.继承的异同

      <1>Sass的继承

        使用@extend实现元素之间样式的继承。

        .block {
            margin: 10px;
            padding: 5px;
        }
        p {
            @extend .block;
            color: red;
        }

           <2>Less的继承

        less中继承无需使用@extend,直接嵌套其他元素的样式。

        .block {
            margin: 10px;
            padding: 5px;
        }
        p {
            .block;
            color: red;
        }

      <3>Stylus继承

        stylus实现继承方式和sass一样,都是使用@extend实现。

        .block {
            margin: 10px;
            padding: 5px;
        }
        p {
            @extend .block;
            color: red;
        }

    总结:这节学习Sass、less、stylus之间的基本区别,主要是书写格式、变量定义、混入、继承之间的区别,其他更多的区别需要更多的学习。

    注意:变量、混合、嵌套、继承、颜色函数称为CSS预处理器的五大特性。

  • 相关阅读:
    python2与python3 版本区别
    ORM 应用详解
    静态文件与APP
    Django框架简介,wsgiref 与 jinja2 模块
    Django框架的安装,项目创建
    自定义socket 模拟B/S服务端
    web框架原理,http 协议
    python 变量,输入,输出
    css 权重值(层叠性)详解
    css 的继承性
  • 原文地址:https://www.cnblogs.com/diweikang/p/9611307.html
Copyright © 2011-2022 走看看