css扩展技术:Less和Sass的区别

这个周学习了Less和Sass这两个css框架,我基本了解了它们各自的语法和特性,并通过两个html网页设计的练习,感受一下它们给我们开发者在进行css网页布局过程中带来的便利。下面是我对它们之间的区别的一些总结。

Less和Sass的相同之处:

1.变量:可以单独定义一系列通用的样式,在需要的时候进行调用。

2.混合(Mixins):class中的class(讲一个class引入到另一个class,实现class与class之间的继承),还可以带参数的混合,就像函数一样。

3.嵌套:class中嵌套class,从而减少代码的重复。

4.运算:提供了加减乘除四则运算,可以做属性值可颜色的运算。

Less和Sass之间的区别:

1.实现方式:Less是基于JavaScript,是在客户端进行处理的;Sass是基于Ruby,是在服务器端进行处理的。

2.定义变量:Less定义变量时使用前缀:@;Sass定义变量时使用前缀:$。

//Less定义变量:
@color: #4D926F;

#header {
    color: @color;
}

//Sass定义变量

    $blue : #1875e7; 

      div {
       color : $blue;
      }

3.混合(Mixins):Less中使用混合时,只需在classB中根据classA的命名来是用;Sass中首先在定义混合时需要使用@mixin命令,其次在调用时需要使用@include命令来引入之前定义的混合。

//Less中的混合:
.rounded-corners (@radius: 5px) {
    -webkit-border-radius: @radius;
    -moz-border-radius: @radius;
    -ms-border-radius: @radius;
    -o-border-radius: @radius;
    border-radius: @radius;
}

#header {
    .rounded-corners;
}
#footer {
    .rounded-corners(10px);
}

//Sass中的混合:
 @mixin left($value: 10px) {
        float: left;
        margin-right: $value;
      }

    div {
        @include left(20px);
      }

4.解析方式:Less可以向上/向下解析;Sass只能向上解析。

5.变量的作用域:Less中的变量有全局和局部之分;Sass可以变量可以理解为都是全局的,但可以通过在变量后面跟!default,在引入Sass文件之前改变变量的属性值来解决这一问题。

//Less:
@width:100px;
h1{
  @width:200px;
  width:@width;
}
h2{
  width:@width;
}

编译后:
h1 {
  width: 200px;
}
h2 {
  width: 100px;
}

//Sass:

$borderColor:red !default;
.border{
  border:1px solid $borderColor;

}

编译后:
.border {
  border: 1px solid red; }

6.比起Less,Sass中增加了条件语句(if、if...else)和循环语句(for循环、while循环和each循环)还有自定义函数:

//if条件句:

    p {
        @if 1 + 1 == 2 { border: 1px solid; }
        @if 5 < 3 { border: 2px dotted; }
      }

//if...else条件句:

    @if lightness($color) > 30% {
        background-color: #000;
      } @else {
        background-color: #fff;
      }

//循环语句:

//for循环:

    @for $i from 1 to 10 {
        .border-#{$i} {
          border: #{$i}px solid blue;
        }
      }

//while循环:

     $i: 6;
      @while $i > 0 {
        .item-#{$i} { width: 2em * $i; }
        $i: $i - 2;
      }

//each循环,类似于for循环:

    @each $member in a, b, c, d {
        .#{$member} {
          background-image: url("/image/#{$member}.jpg");
        }
      }

//自定义函数:

    @function double($n) {
        @return $n * 2;
      }

      #sidebar {
        width: double(5px);
      }

以上就是我对Less和Sass之间的区别的总结。对于开发人员来说,它们都是很酷的工具,它们也可以帮助开发者更有效和快速的工作。至于选择那个来用可以根据自己的喜好,也可以根据自己工作的公司的要求来灵活运用它们之中的一个或者两个。

时间: 2024-08-03 19:27:32

css扩展技术:Less和Sass的区别的相关文章

9.14-9.18随笔之一(CSS扩展技术:LESS SASS)

less css是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性;SASS是对CSS3(层叠样式表)的语法的一种扩充,它可以使用巢状.混入.选择子继承等功能,可以更有效有弹性的写出Stylesheet. less是一种语法,使用需要编译器将其编为CSS才能使用,通过less 我们可以在编写css时设置变量(@变量名).运用继承.嵌套等,更方便CSS的编写和维护,我最为喜欢的便是这两种技术中可嵌套的编写方法,对于初学者来说尤为实用,在less中

CSS扩展技术-less

在原来的CSS基础上扩展一些编程语言 CSS引用扩展技术时需要编译器编译<编译工具Koala 1.less<比较早期的CSS扩展技术> a.less语法:后缀名<.less> //变量的定义 @color:blue; @body-color:blue; @div-color:blue; @w:100px; @h:100px; body{ height:500px; border:1px solid @body-color; } div{ width:@w; height:@h

CSS 扩展技术

CSS扩展技术有两种: 1:LESS 2:SCSS/SASS less作为CSS的一种扩展,LESSCSS不仅向下兼容CSS的语法,而且连新增的特性也是使用CSS的语法.这样的设计使得学习LESS很轻松,而且你可以在任何时候回退到CSS. 申明变量的方法: @width:100px; @backgroundColor:blue; 其变量是“按需加载”(lazy loaded)的,因此不必强制在使用之前声明. 在 LESS 中可以定义一些通用的属性集为一个 class,然后在另一个 class 中

css扩展技术

在原来的基础上扩展了编程语言的特性. less(早期):定义变量[email protected]&-当前对象,如:.class1{ .whb(100px,100px,red); &:hover() }sass(现在很多都用sass):需安装Ruby环境(可以先用kola代替).导入sass不需要后缀名,css需要后缀名(@import "test2";)语法规则:1.定义变量-$(以前只有全局变量没有局部变量) 2.!default 默认值(组建化开发特别有用) 3.

Less技术和Sass技术定义、用法及区别

Less技术 定义:基于CSS的CSS扩展技术 特点:引入变量.混合.运算和函数. 作用:简化CSS代码. 1.定义变量.  形式:@ 变量名=值: 2.混合.  方式:可以用类选择器 .:  id选择器:#:  标签选择器:input body等  形式如:定义-  .header1{           width:20px:           height:50px:}          调用- header{                 .header1              

CSS扩展“less&quot;和”sass“

css扩展技术是对css原生代码一种扩展,其中less和sass就是css扩展技术两种方式,通过扩展技术,可以使我们在写css代码时候,更加的方便和快捷. 首先要了解css扩展技术的含义:扩展技术并不是另外一种全新的技术,它是建立在css基础上进行扩展,实现一些css原生代码所不能实现的功能,其次less和sass不能单独在浏览器上运行,需要进行编译: less能实现同js一样的变量.函数.混合参数等功能,通常用@标志开始,后面接变量名字,具体如实例:@winth.@color.@height等

css的扩展技术

CSS的扩展技术 (在原来的CSS语言的基础上扩展了js,可以在里面写js ) 一.less 定义: @color:red; //定义颜色 @body-color:blue; @div-color:yellow; 引用: body{ height:500px; border:1px solid @body-color; //调用了上面的颜色 } 嵌套: div{ height:500px; border:1px solid @div-color;//这里就直接调用了上面的颜色 p{ color:

Stylus、Less和Sass的区别

CSS 预处理器技术已经非常的成熟了,而且也涌现出了越来越多的 CSS 的预处理器框架.本文便总结下 Sass.Less CSS.Stylus这三个预处理器的区别和各自的基本语法. 1.什么是 CSS 预处理器CSS 预处理器是一种语言用来为 CSS 增加一些编程的的特性,无需考虑浏览器的兼容性问题,例如你可以在 CSS 中使用变量.简单的程序逻辑.函数等等在编程语言中的一些基本技巧,可以让CSS 更见简洁,适应性更强,代码更直观等诸多好处. 2.基本语法区别:在使用 CSS 预处理器之前最重要

谈谈CSS预处理技术中for循环的应用-CSS Sprite

各种新技术的出现,推动着Web前端技术飞速发展,在提升用户体验的同时也方便开发者: 在前端优化时,我们使用CSSSprite技术,把多个图片合在一张图片上,然后通过background-image,background-position来定位现实不同效果,这样来达到减少HTTP请求,毕竟HTTP请求是相当昂贵的,但是HTTP请求是少了,开发人员工作量就大了,要定位图片不是一件很方便的事情,非常麻烦,要一个一个地计算: 其实我们可以有点技巧,让图片排列有点规律,这样可以减少大量时间: 假如我们的图