热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CSS预处理器Sass--Sass、Less、Stylus比较(2)

前言:本节主要学习下Sass、Less、Stylus在使用方面的异同。1.环境安装配置区别。<1>Sass环境配置?Sass的底层是Ruby语言开发的,安装Sass

前言:本节主要学习下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预处理器的五大特性。


推荐阅读
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 为了向用户提供虚拟应用程序,通常会在基础架构中部署StoreFront或Web Interface。为了确保安全的远程访问,通常需要在DMZ中配置Secure Gateway或Access Gateway。本文详细对比了这两种界面工具的功能特性,包括用户管理、安全性、性能优化等方面,为企业选择合适的解决方案提供了全面的参考。 ... [详细]
  • 本文主要分享【】,技术文章【SassScss、Less是什么?】为【CRMEB】投稿,如果你遇到CRMEB,学习笔记相关问题,本文相关知识或能到你。Sass(SyntacticallyAw ... [详细]
  • 我正在为网站创建自定义光标。当鼠标移动时,我有两个div居中于光标,但是当 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文详细介绍了 HTML 中 a 标签的 href 属性的多种用法,包括实现超链接、锚点以及调用 JavaScript 方法。通过具体的示例和解释,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • 在 Linux 系统中,`/proc` 目录实现了一种特殊的文件系统,称为 proc 文件系统。与传统的文件系统不同,proc 文件系统主要用于提供内核和进程信息的动态视图,通过文件和目录的形式呈现。这些信息包括系统状态、进程细节以及各种内核参数,为系统管理员和开发者提供了强大的诊断和调试工具。此外,proc 文件系统还支持实时读取和修改某些内核参数,增强了系统的灵活性和可配置性。 ... [详细]
  • 在ReactWeb应用程序的上下文中,cssscsssass中有哪些功能是使用纯JavaScript ... [详细]
  • 原因:增加配置:webpack.base.conf.jsloaders:{scss:[vue-style-loader,css,sass].join(! ... [详细]
  • 在我的gulpfile中,我注意到了这种奇怪的行为。如果我这样定义手表(带括号): ... [详细]
  • 首先要说sass和scss的区别。sass之前是缩进的语法,有点像python和jade那样,写起来有点不方便,所以后来兼容了css的写法,就变成了scss。sass支持函数,循环,each,mixi ... [详细]
  • 侧边工具条实现 scss+requirejs(1)
    慕课上的一个案例,刚刚学完scss然后找到了这个课程复习一下。顺便老师教了一下requirejs的使用。这可是我的第一个组件啊,拖了好久好久哦。三种html的布局以及优缺点:+ ... [详细]
author-avatar
手机用户2502916257
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有