IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Less学习笔记 -> 正文阅读

[开发工具]Less学习笔记

less:css预处理器

less官网

less是一门CSS预处理语言,它拓展了CSS语言,增建了==变量、混合、函数==等特性,使CSS更易维护和拓展。less可以运行在Node或浏览器端。常用css预处理器还有sass,stylus

less在vscode中的使用

Easy LESS的功能:当你新建一个.less文件时,会自动将它编译,并生成相同名称的.css文件

  1. 在插件市场搜索并安装插件:Easy LESS

  2. 点击左下角的设置按钮,选择设置,搜索easy,选择在setting.json中编辑

    "less.compile": {
        "compress": false,
        "sourceMap": false,
        "out": "./"
    }
     //(compress:移除不必要的空格)
     //(sourceMap:生成map文件)
     //(out:生成css文件位置)
    
  3. 重启vscode

less中的注释

  • 以//开头的注释,不会被编译到css文件中
  • 以/**/包裹的注释会被编译到css文件中

less中的变量

使用**@**来声明一个变量:@color:pink

  1. 作为普通属性值来使用:直接使用@color

    @color:pink;
    .class{
            color:@color
            }
    
  2. 作为选择器和属性名:#{pink}的形式

    @m:#wrap;
    @{m}{
        height:100px;
    }
    
  3. 作为URL:@{URL}

  4. 变量的延迟加载

    @var:0;
    .class{
        @var:1;
        .brass{
            @var:2;
            three:@var;
            @var:3;
        }
        one:@var;
    }
    

    编译生成的css文件:

    .class {
      one: 1;
    }
    .class .brass {
      three: 3;
    }
    

less中的嵌套规则

  1. 基本嵌套规则

  2. &的使用

    &代表平级,通常配合伪类使用!!!

    @color:pink;
    @selector:#wrap
    @{selector}{
        position: relative;
        width: 300px;
        height: 400px;
        border: 1px solid;
        margin: 0 auto;
        .inner{
            position:absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            margin: auto;
            background: @color;
            height: 100px;
            width: 100px;
            &:hover{
                background:green;
            }
        }
    }
    

less中的混合

混合:将一系列属性从一个规则集引入到另一个规则集的方式

  1. 普通混合
    .juzhong{
        position:absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        background: pink;
        height: 100px;
        width: 100px;
    }
    #wrap{
        position: relative;
        width: 300px;
        height: 400px;
        border: 1px solid;
        margin: 0 auto;
        .inner{
            .juzhong;
        }
        .inner2{
            .juzhong;
        }
    }
    
  2. 不带输出的混合:是指输出时,不会将混合样式输出到编译后的.css文件中
    .juzhong(){
        /*在不想输出的样式后面加上括号就可以*/
        position:absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        background: pink;
        height: 100px;
        width: 100px;
    }
    #wrap{
        position: relative;
        width: 300px;
        height: 400px;
        border: 1px solid;
        margin: 0 auto;
        .inner{
            .juzhong;
        }
        .inner2{
            .juzhong;
        }
    }
    
  3. 带参数的混合
    .juzhong(@w,@h,@c){
        position:absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        background:@c;
        height: @h;
        width: @w;
    }
    #wrap{
        position: relative;
        width: 300px;
        height: 400px;
        border: 1px solid;
        margin: 0 auto;
        .inner{
            .juzhong(100px,100px,pink);
        }
        .inner2{
            .juzhong(150px,50px,pink);
        }
    }
    
  4. 带参数并且有默认值的混合
    .juzhong(@w:150px,@h:50px,@c:green){
        position:absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        background:@c;
        height: @h;
        width: @w;
    }
    #wrap{
        position: relative;
        width: 300px;
        height: 400px;
        border: 1px solid;
        margin: 0 auto;
        .inner{
            .juzhong(100px,100px,pink);
        }
        .inner2{
            .juzhong();
        }
    }
    
  5. 带多个参数的混合

    上面全都是QwQ

  6. 命名参数
    .juzhong(@w:150px,@h:50px,@c:green){
        position:absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        background:@c;
        height: @h;
        width: @w;
    }
    #wrap{
        position: relative;
        width: 300px;
        height: 400px;
        border: 1px solid;
        margin: 0 auto;
        .inner{
            .juzhong(100px,100px,pink);
        }
        .inner2{
            .juzhong(@c:black);
            // 如果不使用命名参数,就会默认将black认为是第一个属性的参数
        }
    }
    
  7. 匹配模式
    .triangle(@_,@w,@c){
        // @_:每次调用同名函数,都会先调用它
        width: 0px;
        height: 0px;
        border-style: solid;
        overflow: hidden;
    }
    .triangle(L,@c,@w){
        border-width: @w;
        border-color: transparent transparent transparent @c;
    }
    .triangle(R,@c,@w){
        border-width: @w;
        border-color: transparent @c transparent transparent;
    }
    .triangle(T,@c,@w){
        border-width: @w;
        border-color: @c transparent transparent transparent;
    }
    .triangle(B,@c,@w){
        border-width: @w;
        border-color: transparent transparent @c transparent;}
    #wrap > .sjx{
        .triangle(T,pink, 40px)
    }
    
  8. arguments变量
    .border(@1,@2,@3){
        border: @arguments;
    }
    #wrap > .sjx{
        .border(1px,solid,black);
    }
    

    编译后的css

    #wrap > .sjx {
      border: 1px solid black;
    }
    

less中的计算

// 编译前
#wrap > .sjx {
    width: (100+100px);
    height: (100px+50);
    background-color: pink;
  }
// 编译后
#wrap > .sjx {
  width: 200px;
  height: 150px;
  background-color: pink;
}

less中的继承

性能比混合高

灵活度比混合低

.center{
    position: absolute;
    left: 0;
    right:0;
    top: 0;
    bottom: 0;
    margin:auto;
}
*{
    margin: 0;
    padding:0;
}
#wrap{
    position: relative;
    width: 300px;
    height: 300px;
    border: 1px solid;
    margin: 0 auto;
    .inner:extend(.center){
        // :extend()是继承混合
        &:nth-child(1){
            width: 100px;
            height: 100px;
            background: pink;
        }
        &:nth-child(2){
            width: 50px;
            height: 50px;
            background: deeppink;
        }
    }
}

less中的避免编译

*{
    margin: 100*10px;
    padding:~"cacl(100px+100)";
    // ~" "引号当中的东西不会被编译
}
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 23:19:08  更:2021-07-28 23:19:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 10:08:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码