作者:手机用户2502916257 | 来源:互联网 | 2023-07-28 14:24
前言:本节主要学习下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预处理器的五大特性。