分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

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

发布时间:2023-09-06 02:14责任编辑:顾先生关键词:CSS

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

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

原文地址:https://www.cnblogs.com/diweikang/p/9611307.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved