Css、less和Sass(SCSS)搞不清楚?看完这篇文章你就懂了

熟悉CSS的同学都知道,随着时代发展CSS还延展出了一些新语言,比如SASS和LESS。但是可能很多同学并不了解他们,接下来我就会带你一起了解一下关于Css、less和Sass的相关信息。

 

背景

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

SASS和LESS

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

LESS(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%;

}

了解了这些概念问题,如果你想继续深入研究的话,自然是需要大家继续努力,关于CSS、LESS和SASS的内容还有很多,还有更多的东西等待着大家挖掘,希望你不要停止自己的脚步,在前端开发的道路上越走越远。

原文地址:https://www.cnblogs.com/a1231230/p/12107582.html

时间: 2024-10-11 21:40:18

Css、less和Sass(SCSS)搞不清楚?看完这篇文章你就懂了的相关文章

CSS预处理器Sass(Scss)、Less、Stylus

CSS 预处理编译器能让我成程序化其的方式编写CSS代码,可以引入CSS中没有的变量.条件.函数等特性,从而让代码更简单易维护,但一般按预处理器语法编写的代码无法直接在浏览器中运行,需用通过工具比如gulp转换成标准的CSS语法,从而在浏览器中运行.个人理解它是标准CSS语法的扩展及增强,能在一定程度上提高编码效率. 三种预处理器的对比: Sass诞生是最早也是最成熟的CSS预处理器,有Ruby社区和Compass支持:安装.编译依赖Ruby环境: Stylus早期服务器Node JS项目,在该

linux下C/C++头文件梳理,看完这篇再也不会搞糊涂头文件了!

一:前言 进行linux下C/C++服务端后台开发的都知道,需要跟各种头文件打交道. 比如使用printf函数则需要引用#include <stdio.h>,使用STL的map容器则要#include <map>,使用socket网络编程则要#include <sys/socket.h>, 那么我考考你uint32_t是在哪个头文件定义的呢?sleep函数又是在哪个头文件?open和close是在同一个头文件里吗? 是不是有点一时半会答不上来,有没有好的方法能梳理头文件

听说看了这篇文章就彻底搞懂了什么是OPC(上)

从2000年初以来,我们就一直在使用OPC软件互操作性标准,而那些正准备踏入和想要踏入工业自动化领域的人们却对这些含义感到困惑. 所以在本中,我将系统地为你梳理OPC知识. OPC首字母缩写词代表什么? 问一个OPC老手,他们或许会笑,因为他们知道有很多含义!在经典的且程序化的说法是:O LE for P rocess C ontrol(用于过程控制的OLE).OLE 或对象链接和嵌入是Windows的基本早期构建块,允许应用程序在它们之间共享复杂的信息.我记得Windows 3.0的第一个演示

前端编码规范(4)—— CSS 和 Sass (SCSS) 规范

CSS and Sass (SCSS) style rules ID and class naming ID和class(类)名总是使用可以反应元素目的和用途的名称,或其他通用名称.代替表象和晦涩难懂的名称. 应该首选具体和反映元素目的的名称,因为这些是最可以理解的,而且发生变化的可能性最小. 通用名称只是多个元素的备用名,他们兄弟元素之间是一样的,没有特别意义. 区分他们,使他们具有特殊意义,通常需要为“帮手”. 尽管class(类)名和ID 的语义化对于计算机解析来说没有什么实际的意义, 语

使用 sass/scss 编写CSS 快速上手

div#cpmenu {height:200px;float:left;} div#cpcontent {height:200px;width:150px;float:left;} 文章作者:松阳 原文链接:http://blog.csdn.net/fansongy/article/details/44964187 Why Scss CSS不是一种编程语言,它只是个配置文件,并没有生命.但我等大程序 怎么能容忍自己写出来的东西不能动态变化,不能封装继承,不能xxoo呢,于是就有了css预处理的概

PHPStrom使用SASS,SCSS和Compass

以前尝试 SASS 的时候写了一篇安装方法,大部分操作还是相同,下面补充一些内容主要是填坑,实在太TMD坑爹了. 参考这篇文章: http://blog.csdn.net/zhouzme/article/details/45059419 补充内容: 安装 SASS 和 Compass 这一步经过我昨天的测试,已经不需要修改源地址了,可以直接通过 https://rubygems.org/ 地址进行下载了,反而淘宝那个地址总是出现 SSL 相关错误,貌似HTTPS证书有问题,所以直接忽略了吧. 安

关于前端CSS预处理器Sass的小知识!

前面的话 ??"CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工具,提 供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护.本文将详细介绍sass的使用 定义 ??Sass是一门高于CSS的元语言,它能用来清晰地.结构化地描述文件样式,有着比普通CSS更加强大的功能.Sass能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样式

sass/scss 和 less的区别

转自:孤舟蓑翁 的博客http://www.cnblogs.com/wangpenghui522/p/5467560.html 高级程度排名: SASS (变量+混入+继承+函数+条件判断+嵌套+for+if+工具库Compass) >  SCSS (变量+混入+继承+函数+条件判断) > LESS (嵌套+变量+混入) > CSS (纯静态) 一. Sass/Scss.Less是什么? Sass (Syntactically Awesome Stylesheets)是一种动态样式语言,

sass.scss简单入门

最近研究了一下sass和scss,清晰结构化,在某些地方的确强大,所以写了一篇入门教程,大概15分钟左右就能明白基本原理 什么是sass(css预处理器) Sass官网上是这样描述sass的,sass是一门高于css的元语言,他能用来清晰地,结构化的描述文件样式,有着比普通css功能更加强大的功能,sass能提供更简洁,更优雅的语法,同时提供多种功能来穿件可维护和管理的样式表. SASS 和 SCSS 有什么区别? 文件扩展名不同,Sass 是以".sass"后缀为扩展名,而 SCSS