项目中less常用的一些东西

news2024/11/18 21:47:14

一、less简介

LESSCSS是一种动态样式语言,简称LESS,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护 LESS可以在多种语言、环境中使用,包括浏览器端、桌面客户端、服务端。

二、使用less

直接使用:

官网下载less.js:lesscss.cn/#download-o… 编写Less(类似于CSS),但style标记的type属性必须写为text/less(内部),link标记的rel属性必须写为stylesheet/less(外部,此时必须通过web形式访问) 在Less后链接less.js文件

编译为CSS后使用: 安装npm:nodejs.org 安装lessc(less compile) 安装sublime插件less2css

三、语法

1、变量

LESS中使用@定义变量,然后在需要的时候调用变量,如:@name:值; 变量不仅可用于值,还可以用于选择器、URL、样式属性、变量嵌套等 变量的加载使用的是Lazy Loading模式,无需先定义再使用 LESS中对于变量名称没有JS那样严格的规范,如:@a-z、@22都是合法的变量名称,建议按照规范起名

  • 简单变量定义
@color: #f00;
h1{color:@color;}
#red{color:@color;} 

生成

h1{color:#f00;}
#red{color:#f00;} 

注意也有可能生成 color:red;

  • 选择器变量定义
@selector1: myabc;
.@{selector1}{
	color:#f00;
} 

生成

.myabc{
	color:#f00;
} 

注意,除了简单变量外,其他变量在调用时都需要加{}

  • URL变量定义
@path: “../imgs”;
.btn{
	background:url("@{path}/1.jpg”);
} 

生成

.btn{
	background:url(../imgs/1.jpg)
} 
  • 属性变量定义
@prop: color;
.box{
	@{prop}:red;
	background-@{prop}:blue;
} 

生成

.box{
	color:red;
	background-color:blue
} 
  • 变量嵌套定义
@foo: #f00;
@too: foo;
.box{
	color:@@too;
} 

生成 .box{ color:red; }

  • 延迟加载Lazy Loading
.box{
	color:@too;
	@other:red;
}
@too:@other;
@other:green; 

生成

.box{
	color:red;
} 

2、混合mixin

在 LESS 中我们可以定义一些通用的属性集为一个class,然后在另一个class中去调用这些属性
.bordered {
	border-top: dotted 1px black; 
	border-bottom: solid 2px black; 
}
在其他class中引入那些通用的属性集,方式如下
#menu a { color: #111; .bordered; }
混合可以将一个定义好的class轻松的引入到另一个class中,从而实现样式的复用 
  • 带参数的混合
在Less中可以定义带一个或多个带参数的属性集合,并指定缺省值,在调用可以传递参数或使用缺省值,就像使用函数一样。如:
.ww(@w){width:@w}
div{.ww(200px)}
得到:div{width:200px}

.box-shadow(@shadow: 0 1px 3px rgba(0,0,0,.25)) {-webkit-box-shadow: @shadow;box-shadow: @shadow;
}
div{.box-shadow;}
得到:div{
-webkit-box-shadow:0 1px 3px rgba(0,0,0,.25);
box-shadow:0 1px 3px rgba(0,0,0,.25)
} 
  • 使用导引表达式的混合
LESS通过导引混合来实现条件判断,如:
.mixin (@a) when (@a >= 50) { 
	background-color: black; 
} 
.mixin (@a) when (a < 50) {
	 background-color: white; 
}
 .mixin (@a) { 
	color: @a;
 } 

3、运算

任何数字、颜色或者变量都可以参与运算,如:
@base: 5%;
@filler: @base * 2;
@other: @base + @filler; 
color: #888 / 4; 
background-color: @base-color + #111; 
LESS 可以分辨出颜色和单位
@var: 1px + 5; 
得到6px. 

4、嵌套规则

LESS 可以让我们以嵌套的方式编写层叠样式,先看下面这段CSS代码
#header { color: black; } 
#header .navigation { font-size: 12px; } 
#header .logo { width: 300px; } 
#header .logo:hover { text-decoration: none; }

在 LESS 中可以这样写,代码更简洁更清晰
#header { color: black;
	 .navigation { font-size: 12px } 
	.logo { width: 300px; 
		&:hover { text-decoration: none }
	 }
 } 

5、继承

继承:extend
继承被附在选择器后面或放置在规则集(即具体定于样式处),它看起来就像是一个在关键字extend后具有可选参数的伪类
.parentClass{  
    color:red;  
}  
.subClassOne{  
    &:extend(.parentClass);  
}  
.subClassTwo:extend(.parentClass){  
      
}  
得到:.parentClass, .subClassOne, .subClassTwo {  
  color: red;  
} 

6、注释

注释类型
// 单行注释
/* 多行注释 */ 

7、导入@import

可以使用@import导入其他文件(.less或.css)
如果导入的是.less文件,则可以省略扩展名
@import“library”;//library.less
@import“style.css”; 

最后

整理了一套《前端大厂面试宝典》,包含了HTML、CSS、JavaScript、HTTP、TCP协议、浏览器、VUE、React、数据结构和算法,一共201道面试题,并对每个问题作出了回答和解析。

有需要的小伙伴,可以点击文末卡片领取这份文档,无偿分享

部分文档展示:



文章篇幅有限,后面的内容就不一一展示了

有需要的小伙伴,可以点下方卡片免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82378.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Serverless初探

文中插图来自极客时间 今天听了市场部门分享的serverless, 打算用自己的话总结一下。 一般来说&#xff0c;每一个网络应用背后的原型都是&#xff1a;客户端服务端&#xff0c;通过相互传递消息&#xff08;发起请求&#xff0c;返回响应&#xff09; 从研发体系角度看&…

L2聚宽量化交易系统怎样实现股票量化策略?

L2聚宽量化交易系统怎样实现股票量化策略呢&#xff1f;说到这个问题&#xff0c;首先大家先想想&#xff0c;我们进行股票量化投资无非就是为了更高效的把握股票盈利的机会&#xff0c;但是往往在量化过程中&#xff0c;对聚宽量化交易系统的操作不了解&#xff0c;减少了自己…

ChatGPT可以一本正经的胡说八道,其他AI可以吗?

目录 1.ChatGPT是什么&#xff1f; 2.它是哪个公司开发的&#xff1f; 3.TA会做什么&#xff1f; 写文章 写代码 聊天 4.总结 1.ChatGPT是什么&#xff1f; ChatGPT是由人工智能实验室OpenAI上线的一款由 聊天机器人模型新模型&#xff0c;暂时网页版允许用户免费使用&…

树莓派下载及安装PyCharm软件

PyCharm 有专业版和社区版。专业版的功能更全&#xff0c;但是要收费&#xff0c;社区版是免费的&#xff0c;所以推荐下载这个版本。 通过点击这个链接:https://www.jetbrains.com/pycharm/download/#sectionlinux下载 Pycharm软件。 注意我们要下载的是 Linux 版本的软件。 …

直播怎么录屏,妙招分享,亲测好用!

看直播怎么录制屏幕视频&#xff1f;直播怎么录屏&#xff1f;无论是网络直播课程还是游戏主播直播&#xff0c;很多朋友都想在观看时录制&#xff0c;方便后面再次回顾。事实上&#xff0c;录制直播视频的方法很简单。今天&#xff0c;小编就来分享一个亲测好用的妙招。 一、手…

圣诞节会呼吸的玫瑰爱心代码 一起浪漫吧

源码下载地址&#xff1a;会呼吸、带有玫瑰花的爱心告白程序-Java文档类资源-CSDN下载 粉丝可直接私信我领取。 前言 之前有部电视剧《点燃我温暖你》没火&#xff0c;但是其中李峋的爱心代码却在程序圈超级火&#xff0c;这圣诞节快到了了&#xff0c;给大家来一波爱心代码…

CH36X系列芯片Windows系统使用教程

概述 CH365是一个连接PCI总线的通用接口芯片&#xff0c;CH367/CH368是连接PCI-Express总线的通用接口芯片。支持I/O端口映射、存储器映射、扩展ROM以及中断&#xff0c;提供主动并口、SPI、I2C、GPIO等硬件接口。基于如上芯片可将PCI/PCIe总线转换为简便易用的类似于ISA总线的…

【车载开发系列】UDS诊断---例程控制($0x31)

【车载开发系列】UDS诊断—例程控制&#xff08;$0x31&#xff09; UDS诊断---例程控制&#xff08;$0x31&#xff09;【车载开发系列】UDS诊断---例程控制&#xff08;$0x31&#xff09;一.概念定义1&#xff09;RoutineControl服务2&#xff09;例程的概念3&#xff09;例程的…

如何使用腾讯云轻量应用服务器搭建免费开源企业CMS?

1.背景概述 腾讯云轻量应用服务器是新一代面向中小企业及开发者的云服务器产品&#xff0c;简单易用&#xff0c;一站式融合多款云服务&#xff0c;能帮助用户在云端快速构建网站、博客、电商、论坛等各类应用以及各类开发测试环境。 PbootCMS是一款针对企业网站开发的国产CM…

Docker+Node-exporter+Prometheus+Grafana

载docker-compose容器编排并授权x curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose && chmod x /usr/local/bin/docker-compose所有客户端服务器node-exporter的dock…

[附源码]JAVA毕业设计婴幼儿玩具共享租售平台(系统+LW)

[附源码]JAVA毕业设计婴幼儿玩具共享租售平台&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项…

C中的auto、static、register、extern、const和volitate

C语言中的每一个变量和函数有两个属性&#xff1a;数据类型和数据的存储类别。数据类型&#xff08;整形、字符型等&#xff09;&#xff0c;存储类别是指数据在内存中存储的方法&#xff0c;存储方法有两大类&#xff1a;静态存储类和动态存储类。具体包括四种&#xff1a;自动…

TensorRT 高级用法

1&#xff0c;插件支持-转化TensorRT模型时不支持的算子 我们在做模型结构设计时&#xff0c;有时候自己会设计一些layer来满足任务需求&#xff0c;但是这些layer在使用Tensorrt优化时&#xff0c;TensorRT可能并不支持&#xff0c;如ROI Align&#xff0c;这时候就需要通过Pl…

vue源码分析-v-model的本质

双向数据绑定这个概念或者大家并不陌生&#xff0c;视图影响数据&#xff0c;数据同样影响视图&#xff0c;两者间有双向依赖的关系。在响应式系统构建的上&#xff0c;中&#xff0c;下篇我已经对数据影响视图的原理详细阐述清楚了。而如何完成视图影响数据这一关联&#xff1…

连接WiFi需要短信验证怎么做?

公共场所提供公共的无线wifi上网服务&#xff0c;需对用户进行实名认证。手机短信实名认证以其用户体验、综合成本等优势&#xff0c;成为公共无线上网认证的首选方案。 一、公共wifi需要短信验证怎么做 要实现访客无线上网短信认证功能&#xff0c;需要借助上网行为管理设备搭…

响应式开发基础知识以及大屏解决方案

1.响应式开发基础知识 1.1-媒体查询media: css中设置条件&#xff0c;基于media 媒体设备&#xff1a; all所有设备、print打印设备/screen屏幕设备媒体条件&#xff0c;符合某个条件&#xff0c;写对应的样式max-width、min-width、max-height、min-heigth 1.2-视口viewpo…

基于java+springboot+mybatis+vue+mysql的沁园健身房预约管理系统

项目介绍 现在无论是在PC上还是在手机上&#xff0c;相信全国所有地方都在进行网上健身房预约管理。随着经济的不断发展&#xff0c;系统管理也在不断增多&#xff0c;健身房预约平台就是其中一种。 本次的毕业设计主要就是在基于Java语言平台下设计并开发一个健身房预约平台…

k8s部署fabric 2.4

test-network的部署现状 dockerdocker-compose ip端口号&#xff1a;ip不可变&#xff0c;人工维护&#xff0c;不可冲突脚本化&#xff1a;程度低&#xff0c;部分流程需要登陆到容器中执行日志收集&#xff1a;无监控告警&#xff1a;无容器管理&#xff1a;无部署流程&…

4.1什么叫作PCB封装?它的分类一般有哪些? Cadence Allegro软件制作PCB封装的一般流程是什么?

笔者电子信息专业硕士毕业&#xff0c;获得过多次电子设计大赛、大学生智能车、数学建模国奖&#xff0c;现就职于南京某半导体芯片公司&#xff0c;从事硬件研发&#xff0c;电路设计研究。对于学电子的小伙伴&#xff0c;深知入门的不易&#xff0c;特开次博客交流分享经验&a…

Java中的5个代码性能提升技巧,学会之后立马提升近10倍性能

文章目录预先分配 HashMap 的大小优化 HashMap 的 key不使用 Enum.values() 遍历使用 Enum 代替 String 常量使用高版本 JDK这篇文章介绍几个 Java 开发中可以进行 性能优化的小技巧&#xff0c;虽然大多数情况下极致优化代码是没有必要的&#xff0c;但是作为一名技术开发者&a…