【Less-CSS】初识Less,使编写 CSS 变得简洁

红太狼 2023-10-16 12:56 60阅读 0赞

初识Less,使编写 CSS 变得简洁

    • 1.Less简述
    • 2.LESS 原理及使用方式
    • 3.示例
    • 4.less语法
    • 5.Easy Less插件

作为一门标记性语言,CSS 的语法相对简单,对使用者的要求较低,但同时也带来一些问题:CSS 需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用,尤其对于非前端开发工程师来讲,往往会因为缺少 CSS 编写经验而很难写出组织良好且易于维护的 CSS 代码,造成这些困难的很大原因源于 CSS 是一门非程序式语言,没有变量、函数、SCOPE(作用域)等概念。

LESS 为 Web 开发者带来了福音,它在 CSS 的语法基础之上,引入了变量,Mixin(混入),运算以及函数等功能,大大简化了 CSS 的编写,并且降低了 CSS 的维护成本,就像它的名称所说的那样,LESS 可以让我们用更少的代码做更多的事情。

1.Less简述

less就是简便书写css的工具还是像写css那样写,只是有些比较简洁,可以写除法、选择器套选择器等等。保存.less文件,就会在同级别下自动生成.css文件。

在px单位转换到rem单位过程中,哪项工作是最麻烦的?

答:除法运算。CSS不支持计算写法。解决方案:可以通过Less实现。

Less是一个CSS预处理器, Less文件后缀是.less;

扩充了 CSS 语言, 使 CSS 具备一定的逻辑性、计算能力;

注意:浏览器不识别Less代码,目前阶段,网页要引入对应的CSS文件。

2.LESS 原理及使用方式

本质上,LESS 包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的 CSS 文件。LESS 并没有裁剪 CSS 原有的特性,更不是用来取代 CSS 的,而是在现有 CSS 语法的基础上,为 CSS 加入程序式语言的特性。

3.示例

.less文件:

  1. .father {
  2. color: red;
  3. width: (68 / 37.5rem);
  4. .son {
  5. background-color: pink;
  6. }
  7. }

保存.less文件以后,在同级别的目录下生成的.css文件:

  1. .father {
  2. color: red;
  3. width: 1.81333333rem;
  4. }
  5. .father .son {
  6. background-color: pink;
  7. }

4.less语法

  • 四则运算:
    运算: 加、减、乘直接书写计算表达式;
    除法需要添加 小括号 或.

    1. //表达式存在多个单位以第一个单位为准!
    2. div {
    3. width: 100 + 5px;
    4. width: 100 -5px;
    5. width: 100 * 2px;
    6. // 除法
    7. // 68 > rem
    8. width: (68 / 37.5rem);
    9. height: 29 ./ 37.5rem;
    10. }
  • 嵌套:快速生成后代选择器。
    语法:

    1. .父级选择器{
    2. //父类样式
    3. .子级选择器{
    4. //子类样式
    5. }
    6. }
    7. .father {
    8. color:red;
    9. .son {
    10. color:pink;
    11. }
    12. }
    13. &不生成后代选择器,表示当前选择器,通常配合伪类或伪元素使用。
    14. .father {
    15. color:red;
    16. &:hover {
    17. color:pink;
    18. }
    19. }
  • 使用Less变量设置属性
    语法:

    1. 定义变量:@变量名: 值;
    2. 使用变量:CSS属性:@变量名;

    示例:
    .less文件:

    1. // 1. 定义. 2.使用
    2. @colora:green;
    3. .box {
    4. color: @colora;
    5. }
    6. .father {
    7. background-color: @colora;
    8. }
    9. .aa {
    10. color: @colora;
    11. }

    对应的.css文件:

    1. .box {
    2. color: green;
    3. }
    4. .father {
    5. background-color: green;
    6. }
    7. .aa {
    8. color: green;
    9. }
  • 导入

开发网站时,网页如何引入公共样式?
答:CSS:书写link标签;
Less:导入

导入的语法: @import “文件路径”;
导入了这个less文件,保存以后这个less对应的css都会有。

  • 导出
    less一保存,都是在当前的路径生成css,
    如果想改变这个路径:
    方法一:实现把less文件夹里的less文件,保存后生成的css文件都放到css文件夹中。

    1. 配置EasyLess插件, 实现所有Less有相同的导出路径;
    2. 配置插件: 设置 搜索EasyLess setting.json中编辑
    3. 添加代码(注意,必须是双引号)

    在这里插入图片描述
    实现把less文件夹里的less文件,保存后生成的css文件都放到css文件夹中。

    方法二:
    让对应less文件的css文件导出到另外一个路径;
    Less文件第一行添加如下代码, 注意文件夹名称后面添加 /

    1. // out: ./qqq/daqiu.css
    2. // out: ./abc/
    3. .box {
    4. color: red;
    5. }

    第一行不仅换了位置,还改了css文件名;
    第二行是换位置。./表示当前文件夹的目录

    有一些less不需要导出css文件:
    禁止导出:在less文件第一行添加: // out: false

5.Easy Less插件

Easy Less是vscode插件,其作用:less文件保存自动生成css文件。
一定要在vscode中加了这个插件,才能保存后自动生成css文件。

发表评论

表情:
评论列表 (有 0 条评论,60人围观)

还没有评论,来说两句吧...

相关阅读

    相关 spring使缓存容易

    spring3.1引入一种新的和简单的方式来缓存结果,在这篇文章中我们我们将看到在项目中怎么使用过spring 缓存来避免执行已经产生结果的重复任务。这篇文章的读者要有基本的s

    相关 LESSCSS成就CSS动态化

      提到LESSCSS,可能大家不都不太了解。LESSCSS是属于css中的一种动态语言。他可以让CSS使用起来更加灵活,使用方式形如JavaScript中的一些变量,函数等。