首页 > 其他分享 >LESS的使用

LESS的使用

时间:2023-05-31 23:11:31浏览次数:37  
标签:运算 less LESS 100px height width 使用 选择器

CSS的缺陷

在开发过程中CSS有许多不方便之处,例如不支持加减乘除运算,各种选择器之间的嵌套关系不明显等,不利于后期维护。

less简介

Less 是一门CSS预处理语言,它扩充了CSS语言,增加了诸如变量、混合(mixin)、函数等功能,让CSS更易维护、方便制作主题、扩充。less文件最终可以编译成为css文件。

less基本使用

使用vscode开发的话,只需要安装easyless插件即可,安装好插件后ctrl+s保存写好的les文件后就会生成编译好的css文件,然后直接在html页面中通过<link>标签引入即可。less中保留了大部分css的语法,并额外对CSS功能进行了拓展,各种类选择器,标签选择器等都和css中用法一样,但是一些伪类选择器语法有所改变。

 

四则运算

CSS中并不支持运算操作,在开发过程中也会带来一定的麻烦,但是less中允许进行四则运算,最后的运算结果写入编译好的CSS文件。

less代码

//less代码
.box { // 加运算 width: 100px + 5; // 减运算 height: 100px - 5; // 乘运算 font-size: 20px * 5; // 除运算,除法运算必须用括号包起来,否则会编译失败 margin: (50px / 5); }


//生成的css代码
.box {
  /* 100+5 */
  width: 105px;
  /* 100-5 */
  height: 95px;
  /* 20*5 */
  font-size: 100px;
  /* 50/5 */
  margin: 10px;
}

但是四则运算中两个运算数都会有单位的困扰,为此less中这样规定:

  • 如果两个运算数都没有单位,则结果也没有单位
  • 如果两个运算数只有一个数有单位,则运算结果的单位为该单位
  • 如果两个运算数都有单位,运算结果的单位为前面的数的单位
//less代码
.btn {
    width: 100 + 5;
    height: 100px + 5;
    font-size: 100 + 5px;
    margin: 100rem + 5px;
}


//生成的css代码
.btn {
  width: 105;
  height: 105px;
  font-size: 105px;
  margin: 105rem;
}

自定义变量

less中允许我们定义变量,可以统一使用该变量,也方便后期修改。这里变量的使用和修改和其他高级语言一样,定义变量赋值后,在后面的语句中直接使用即可,而且自定义的变量也可直接参与运算。

定义变量:@变量名: 值;

使用变量:CSS属性:@变量名;

//less代码
//变量定义
@num: 100px;

.abc {
    width: @num; //使用变量
    height: @num * 5;//变量也可参与运算
}


//生成的css代码
.abc {
  width: 100px;
  height: 500px;
}

嵌套

css中如果想选中 div 中的 span标签必须要写成div span,这样显然不利于观察父子级关系,less中允许父子级关系的嵌套,子标签的选择器直接写在父选择器的大括号里,即

div {

 span {

 }

}

//html代码
<div class="a">
    <div class="b"> </div>
</div>


//less代码
.a {
    width: 200px;
    height: 200px;

    .b {
        width: 100px;
        height: 100px;
    }
}


//生成的css代码
.a {
  width: 200px;
  height: 200px;
}
.a .b {
  width: 100px;
  height: 100px;
}

如果碰到该标签的伪类选择器或者伪元素选择器等,要在前面加上$符号用以标记区分。

没加上$的会被识别为该父选择器的后代。

加上$后,就会被解析为父选择器本身或者夫选择器的伪类。

//less代码
.x {
    
    .y {
        width: 100px;
    }

    &:hover {
        background-color: pink;
    }

    &::after {
        height: 200px;
        width: 200px;
    }
}




//css代码
.x .y {
  width: 100px;
}
.x:hover {
  background-color: pink;
}
.x::after {
  height: 200px;
  width: 200px;
}

 

标签:运算,less,LESS,100px,height,width,使用,选择器
From: https://www.cnblogs.com/xiaomingbook/p/17447618.html

相关文章

  • Python3 环境下使用 MySQLdb 库
    方法一:可以使用mysqlclient库安装:pipinstallmysqlclient 可能还需要下面对应的库,或者其它库#apt-getinstallmysql-dev或者#yuminstallmysql-devel使用:importMySQLdb 方法二:使用pymsql,这个需要做程序改造了......
  • Spring boot 使用 jpa 动态插入@DynamicInsert和动态更新@DynamicUpdate(动态指部分或
    @DynamicInsert属性:设置为true,设置为true,表示insert对象的时候,生成动态的insert语句,如果这个字段的值是null就不会加入到insert语句当中.默认false。比如希望数据库插入日期或时间戳字段时,在对象字段为空的情况下,表字段能自动填写当前的sysdate。@DynamicUpdate属性:设置为tru......
  • 使用脚本批量Telnet和Curl测试端口是否连通
    使用脚本批量Telnet测试端口是否连通,使用telnet:telnets.sh:#!/bin/bashcheck_telnet(){forip_portin$(catip_info|grep-v'^#')doCHECK_PORT=$(echo$ip_port|awk-F:'{print$2}')CHECK_IP=$(echo$ip_port|awk-F:'{print$1}')......
  • Spring Boot缓存注解使用案例
    一、spring-boot-cache缓存1、pom<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId><version>2.6.7</version></dependency>2、main启动类加入@EnableCachi......
  • mysql使用索引优化查询效率
    索引的概念索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),包含着对数据表里所有记录的引用指针。通俗的来讲,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。在没有索引的情况下,数据库会遍历全部数据后选择符合条件的;而有了相应的索引之后,数据库会......
  • 如何使用Go中的Weighted实现资源管理
    1.简介本文将介绍Go语言中的Weighted并发原语,包括Weighted的基本使用方法、实现原理、使用注意事项等内容。能够更好地理解和应用Weighted来实现资源的管理,从而提高程序的稳定性。2.问题引入在微服务架构中,我们的服务节点负责接收其他节点的请求,并提供相应的功能和数......
  • TensorFlow的安装和使用
    安装TensorFlow的步骤如下:安装Python:首先,确保你的计算机上安装了Python。TensorFlow支持Python3.5、3.6和3.7版本。你可以从Python官方网站(https://www.python.org/downloads/)下载适合你操作系统的Python安装程序,并按照指示进行安装。创建虚拟环境(可选):为了隔离TensorFlow的安装,你......
  • sklearn gridsearch不能使用验证集导致的过拟合问题
    https://stackoverflow.com/questions/31948879/using-explicit-predefined-validation-set-for-grid-search-with-sklearn  或者用optuna####useoptunalibtofinetuneSVChyperparametersifmethod=='optuna':importoptuna......
  • 开源.NetCore通用工具库Xmtool使用连载 - 发送短信篇
    【Github源码】《上一篇》介绍了Xmtool工具库中的发送邮件类库,今天我们继续为大家介绍其中的发送短信类库。发送短信就像发送邮件一样,在软件系统中使用非常普遍,甚至比发送邮件还要常见,有些甚至是软件标配功能;例如现在的短信验证码登录、通过短信找回密码等等。发送短信需要......
  • 使用OpenAI API进行Model Fine-tuning
    目录1基本信息2操作示例2.1准备数据2.2模型训练2.3模型推理1基本信息参考资料:官方指南:https://platform.openai.com/docs/guides/fine-tuning微调接口:https://platform.openai.com/docs/api-reference/fine-tunes数据接口:https://platform.openai.com/docs/api-refere......