• css,sass,scss和less的区别


    css,sass,scss和less的区别

    1.css

    层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言

    css预处理器:

    css预处理器定义了一种新语言,是用一种专门的编程语言,进行网页的样式设计,之后在被编译为正常的css文件,以供项目使用。

    为什么使用css预处理器:css只是一个标记语言,不是编程语言,不可以自定义变量,不可以引用等

    使用css预处理语言的好处:是css更加简洁、方便修改、可读性强、适用性强并且更易于代码的维护

    2.sass

    sass是由buby语言编写的一款css预处理语言,和html一样有严格的缩进风格,和css编写规范有着很大的出入,是不使用花括号和分号的,所以不被广为接受。

    sass语法只是在原有css语法基础上做了一些语法扩展(添加了一些新的css特性)

    scss 与sass
    CSS书写代码规模较大的Web应用时,容易造成选择器、层叠的复杂度过高,因此推荐通过SASS预处理器进行CSS的开发,SASS提供的变量、嵌套、混合、继承等特性,让CSS的书写更加有趣与程式化

    sass和scss都是css预处理语言,其后缀名是分别为 .sass和.scss两种。
    SASS版本3.0之前的后缀名为.sass,而版本3.0之后的后缀名.scss。
    继sass之后scss的编写规范基本和css一致,sass时代是有严格的缩进规范并且没有‘{}’和‘;’。而scss则和css的规范是一致的。

    Sass是成熟、稳定、强大的CSS预处理器,而SCSS是Sass3版本当中引入的新语法特性,完全兼容CSS3的同时继承了Sass强大的动态功能。

    3.sass和scss的使用

    • sass语法中,支持单行注释,多行注释
    • sass的选择器嵌套语法
    • 声明变量,一般声明变量在所有嵌套语法的最外层,变量必须以$开头
    • 函数@function,@return这样的指令必须以@开头
    // sass 语法只是在原有css语法基础上做了一些语法扩展(添加了一些新的css特性)
    // sass 语法中, 支持 单行注释,多行注释
    // sass 的 选择器的嵌套语法
    
    // 声明变量, 一般声明在所有嵌套语法的最外层, 变量必须以$开头
    // 变量可以直接参与算术运算: + - * / % 
    $w:10px;
    
    // 函数
    // @function , @return 这样的指令 必须以@开头
    @function calc_width( $width ){
      @return $width * 10;
    }
    
    .list{
      margin: $w;
      .good{  // .list .good
        display: flex;
        .imgbox{ // .list .good .imgbox
          width: calc_width($w); 
          margin-right: $w;
          img{ // .list .good .imgbox img
            //width: 100%;
            width: calc_width($w);
          }
        }
        .text{ // .list .good .text
          /* line-height: 30px; */
          .name{ // .list .good .text .name
            font-weight: bold;
            &:hover{ // .list .good .text .name:hover
              color: red;
            }
          }
          .price{ // .list .good .text .price
            color: red;
          }
          .tags{
            font-size: 12px;
            span{
              display: inline-block;
              padding: 5px $w;
              background-color: #f5f5f5;
              border-radius: 5px;
              margin-right: $w; 
              &:nth-child(1){ //.list .good .text .price span:nth-child(1)
                background-color: lightcoral;
                color: white;
              }
              &:nth-child(2){ //.list .good .text .price span:nth-child(2)
                background-color: lightgreen;
                color: white;
              }
              &:nth-child(3){ //.list .good .text .price span:nth-child(3)
                background-color: lightseagreen;
                color: white;
              }
            }
          }
        }
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62

    4.sass和less的区别

    不同之处

    1. less和sass的主要不同就是实现方式不同

      Sass是基于Ruby的,是在服务器端处理

      Less基于Javascript,是在客户端处理。

    2. less使用较sass简单

    3. sass功能比less强大

      • sass有变量和作用域

      • sass有函数的概念

      • 进程控制

        条件、循环遍历、继承、引用

      • 数据结构

        数组、map

    4. less和sass处理机制不一样

      前者是通过客户端处理的,后者是通过服务端处理。关于变量在less中是@,在sass中是用$

  • 相关阅读:
    用最清爽的方式开发dotNet
    网络基础选择题
    推荐系统实战2——EasyRec 推荐框架环境配置
    2023年高教社杯数学建模国赛 赛题浅析
    UltraISO做u盘镜像启动盘
    【ASP.NET】Hello World
    宠物寄养小程序实战教程02
    ASP.NET Core 6.0 启动方式
    VIM 编辑文件命令
    “Docker操作案例实践“
  • 原文地址:https://blog.csdn.net/m0_53181852/article/details/127737688