Css、less和Sass(SCSS)的区别

随着前端开发的不断发展,CSS也逐渐延伸出了很多新的语言,less和Sass就是其中两种,下面我们就一起来看看它们到底有何区别。

背景

CSS(Cascading Style Sheets,层叠样式表)是一门非程序式语言,入门学习使用非常直观方便,但是对于一些比较复杂或者重用性比较强的项目来说,因为CSS没有变量、函数、SCOPE(作用域),需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用,尤其对于非前端开发工程师来讲,往往会因为缺少 CSS 编写经验而很难写出组织良好且易于维护的 CSS 代码。为了方便前端开发的工作量,出现了sass和less。

SASS和LESS

SASS(英文全称:Syntactically Awesome Stylesheets,语法上很棒的样式表)Sass 诞生于 2007 年,使用Ruby 编写,是一种对css的一种扩展提升,增加了规则、变量、混入、选择器、继承等等特性。可以理解为用js的方式去书写,然后编译成css。比如说,sass中可以把反复使用的css属性值定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值。

LESS(Leaner Style Sheets,精简的样式表)(2009年开源的一个项目,受Sass的影响较大,但又使用CSS的语法,让大部分开发者和设计师更容易上手。LESS保留了css的任何功能,同时提供了多种方式能平滑的将写好的代码转化成标准的CSS代码可以在任何使用随时切换到css的语法进行书写。

SASS和LESS****使用

传统的css可以直接被html引用,但是sass和less由于使用了类似JavaScript的方式去书写,所以必须要经过编译生成css,而html引用只能引用编译之后的css文件,虽然过程多了一层,但是毕竟sass/less在书写的时候就方便很多,所以在我们使用sass/less之前,只要我们提前设置好,就可以直接生成对应的css文件,而我们只需要关心我们的sass/less文件即可。

Sass的语法规则,可以参考下SASS中文网:<u>https://www.sass.hk/</u>

SASS技术的文件的后缀名有两种形式:.sass和.scss。其实两者都是同一种东西,两种均可以可以通过编译生成浏览器能识别的css文件。这两种的区别:

  • 扩展名不同;
  • SCSS 的语法书写和CSS 语法书写方式非常类似,.sass文件对代码的排版有着非常严格的要求,而且没有大括号,没有分号;

Sass 语法

$font-stack: Helvetica, sans-serif //定义变量
$primary-color: #333 //定义变量

body
font: 100% $font-stack
color: $primary-color

SCSS 语法

$font-stack: Helvetica, sans-serif;
$primary-color: #333;

body {
font: 100% $font-stack;
color: $primary-color;
}

编译出来的 CSS

body {
font: 100% Helvetica, sans-serif;
color: #333;
}

LESS技术的后缀名只有一种,就是.less,语法规则和sass大同小异,详细可以参考less中文网<u>http://lesscss.cn/</u>

LESS使用分为两种:

1、直接在浏览器中引入less编译器js文件和less文件,直接渲染编译为css文应用到当前页面中。

2、less文件通过编译成为css之后引用css;

/* Less */
@color: #999;
@bgColor: skyblue;//不要添加引号
@width: 50%;

#wrap {
    color: @color;
    width: @width;
}

/* 生成后的 CSS */
#wrap {
    color: #999;
    width: 50%;
}
<think>好的,用户想寻找美化CSSSASSSCSSLESS代码的方法或工具。首先,我需要回忆一下常用的前端美化工具,比如PrettierCSScomb,这些工具支持这些样式语言的格式化。Visual Studio Code的插件可能是一个重点,因为用户之前提到过VS Code的相关引用,比如Easy Sass插件VuePack。 接下来,我需要考虑在线工具,比如WebFormatterBeautifyTools,这些可能对用户有帮助。同时,构建工具集成,例如使用Gulp或Webpack的插件,自动美化代码,这也是一个方向。 还要注意用户提到的引用内容,引用1提到Easy Sass插件的配置,引用2关于CSS-like文件的规则,引用3关于Vue.js的智能提示。可能需要将这些引用中的信息与美化工具结合,比如配置VS Code的插件来实现自动美化。 需要确保回答覆盖各种方法,包括编辑器插件、在线工具、构建工具集成,以及具体配置示例。同时,生成相关问题时要围绕代码美化、工具比较、配置技巧等方面。</think>### CSS/SASS/SCSS/LESS代码美化方法 #### 一、编辑器内置功能 1. **VS Code格式化** 安装`Prettier`插件后,按`Shift+Alt+F`可直接格式化当前文件,支持所有主流CSS预处理语言。该工具默认保持嵌套结构清晰,自动对齐属性值[^1][^2]。 2. **CSScomb专业排序** 通过`CSScomb`插件实现属性按自定义顺序排列(如布局属性优先),特别适合团队规范开发。需在设置中配置排序规则: ```json // .csscomb.json { "sort-order": ["position", "top", "display", "width"] } ``` #### 二、自动化构建工具 1. **Gulp集成方案** 使用`gulp-autoprefixer`+`gulp-cssbeautify`组合,可在保存时自动美化: ```javascript const beautify = require('gulp-cssbeautify'); gulp.task('style', () => { return gulp.src('src/*.scss') .pipe(sass()) .pipe(beautify({ indent: ' ' })) .pipe(gulp.dest('dist')) }); ``` #### 三、在线即时处理 1. **WebFormatter高级解析器** 访问[webformatter.com/css](https://www.webformatter.com/css)可直接粘贴SASS代码,选择"Expand braces"模式可将嵌套代码展开为标准CSS格式。 2. **BeautifyTools定制化** 在[beautifytools.com](https://beautifytools.com/scss-beautifier.php)中可调节缩进大小(2/4空格)、选择是否保留空行等细节参数。 #### 四、预处理语言专用方案 针对SASS/SCSS推荐使用`sass-convert`命令行工具: ```bash # 转换文件格式并美化 sass-convert --from scss --to scss --indent 4 input.scss output.scss ``` $$ \text{代码可读性公式:} R = \frac{\text{有效注释行数}}{\text{总代码行数}} \times 100\% $$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值