less和scss的区别

相同点:

  1. LESS和SCSS都是css的预处理器,可以拥有变量,运算,继承,嵌套的功能,使用两者可以使代码更加的便于阅读和维护。
  2. 都可以通过自带的插件,转成相对应的css文件。
  3. 都可以参数混入,可以传递参数的class,就像函数一样
  4. 嵌套的规则相同,都是class嵌套class

不同点:

声明和使用变量

LESS用@符号,SCSS用$符号表示

示范:

@link-color:#632bca
$to-color:#632bca
.main{
      color:@link-color    //#632bca颜色LESS
    background-color:$to-color    //#632bca颜色SCSS
}

变量插值

LESS采用@{XXXX}的形式,SCSS采用${XXXX}的形式 

作用: 可以用为LESS和SCSS声明变量,变量作为css的选择器

示范:

LESS:

@main-top : search;
.@{ main-top } {
	font-size : 24px;
	color : #fff;
}
// 是用LESS,定义类,类选择器选中search标签,给其设置css样式

 SCSS:

$main-top : search;
.@{ main-top } {
	font-size : 24px;
	color : #fff;
}
// 是用scss,定义类,类选择器选中search标签,给其设置css样式

SCSS支持条件语句,LESS不支持 

 SCSS可以使用if{}else,for循环等等,LESS不支持

示范:

/* Sample Sass “if” statement */
 
@if lightness($color) > 30% {
 
} @else {
 
}
 
/* Sample Sass “for” loop */
 
@for $i from 1 to 10 {
  .border-#{$i} {
    border: #{$i}px solid blue;
  }

 应用外部css文件方式不同

SCSS应用的css文件名必须以‘_’开头(下划线),文件名如果以下划线开头的话,sass会认为改文件是一个应用文件,不会将它转成css文件

示范:

// 源代码:
@import "_main.css";
@import "_layout.css";
@import "_text.css";

 颜色函数

调整色相的话,LESS使用spin()的函数;SCSS使用名为adjust_hue()的函数

 示范:

LESS:

@state-success-border: darken(spin(@state-success-bg, -10), 5%);

SCSS:

$state-success-border: darken(adjust_hue($state-success-bg, -10), 5%);

引用父选择器&符号的使用 

LESS和SCSS都可以使用&符号表示父选择器,但是SCSS的&符号只能出现在一个组合选择器的开始位置,LESS则没有这个限制

示范:

LESS:

.bg-variant(@color) {
  background-color: @color;
  a&:hover,
  a&:focus {
    background-color: darken(@color, 10%);
  }
}

SCSS:

a {
  font-weight: bold;
  text-decoration: none;
  &:hover { text-decoration: underline; }
  body.firefox & { font-weight: normal; }
}

 总结:

SCSS和LESS都是一种基于css之上的高级语言,两者之间各有优点,scss在功能上面比less更强大,less比较的清晰明了,容易上手,主要是看大家的工作中,更倾向于使用那个进行开发,两者都能够大大提高书写代码的效率。

 

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值