less详解

CSS/SCSS/LESS和自适应布局/响应式布局详解 在开发前端的时候,界面布局尤为重要,要布局的非常合理,好看,css是必不可少的,然后是各种布局,使用这些布局,进行混合搭配,最终的目的都是开发一个完整的界面。前端的技术变化是五花八门的,也是群魔乱舞的,使用的方法更是层出不穷。所以本文收集了一些个人的观点,并且进行记录。好的布局不是一下能学会的,是需要大量的实战经验,上手很快,但是精通需要一定的时间才行。 阅读详情

什么是LESSCSS

LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。

LESSCSS可以在多种语言、环境中使用,包括浏览器端、桌面客户端、服务端。

语言特性快速预览:

变量:

变量允许我们单独定义一系列通用的样式,然后在需要的时候去调用。所以在做全局样式调整的时候我们可能只需要修改几行代码就可以了。

LESS源码:

@color: #4D926F;

#header {
    color: @color;
}
h2 {
    color: @color;
}

编译后的CSS:

#header {
    color: #4D926F;
}
h2 {
    color: #4D926F;
}

混合(Mixins)

混合可以将一个定义好的class A轻松的引入到另一个class B中,从而简单实现class B继承class A中的所有属性。我们还可以带参数地调用,就像使用函数一样。

LESS源码:

.rounded-corners (@radius: 5px) {
    -webkit-border-radius: @radius;
    -moz-border-radius: @radius;
    -ms-border-radius: @radius;
    -o-border-radius: @radius;
    border-radius: @radius;
}

#header {
    .rounded-corners;
}
#footer {
    .rounded-corners(10px);
}

编译后的CSS:

#header {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}
#footer {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

嵌套

我们可以在一个选择器中嵌套另一个选择器来实现继承,这样很大程度减少了代码量,并且代码看起来更加的清晰。

LESS源码:

#header {
    h1 {
        font-size: 26px;
        font-weight: bold;
    }
    p {
        font-size: 12px;
        a {
            text-decoration: none;
            &:hover {
                border-width: 1px
            }
        }
    }
}

编译后的CSS:

#header h1 {
    font-size: 26px;
    font-weight: bold;
}
#header p {
    font-size: 12px;
}
#header p a {
    text-decoration: none;
}
#header p a:hover {
    border-width: 1px;
}

函数和运算

运算提供了加,减,乘,除操作;我们可以做属性值和颜色的运算,这样就可以实现属性值之间的复杂关系。LESS中的函数一一映射了JavaScript代码,如果你愿意的话可以操作属性值。

LESS源码:

@the-border: 1px;
@base-color: #111;
@red:        #842210;

#header {
    color: (@base-color * 3);
    border-left: @the-border;
    border-right: (@the-border * 2);
}
#footer {
    color: (@base-color + #003300);
    border-color: desaturate(@red, 10%);
}

编译后的CSS:

#header {
    color: #333;
    border-left: 1px;
    border-right: 2px;
}
#footer {
    color: #114411;
    border-color: #7d2717;
}

更多说明

更多更详细的语法特性请参见语言文档

快速上手

LESSCSS的使用是很容易的,首先,使用你最常使用的代码编辑器,按LESSCSS的语法规则写好.less文件,接下来,使用编译工具它编译成.css,最后再引入页面即可。

GUI编译工具

为方便起见,建议初学者使用GUI编译工具来编译.less文件,以下是一些可选GUI编译工具:

  1. koala(Win/Mac/Linux)

    国人开发的LESSCSS/SASS编译工具。下载地址:http://koala-app.com/index-zh.html

  2. Codekit(Mac)

    一款自动编译Less/Sass/Stylus/CoffeeScript/Jade/Haml的工具,含语法检查、图片优化、自动刷新等附加功能。下载地址http://incident57.com/codekit/

  3. WinLess(Win)

    一款LESS编译软件。下载地址http://winless.org/

  4. SimpleLess(Win/Mac/Linux)

    一款LESS编译软件。下载地址http://wearekiss.com/simpless

Node.js库

LESSCSS官方有一款基于Node.js的库,用于编译.less文件。

使用时,首先全局安装less(部分系统下可能需要在前面加上sudo切换为超级管理员权限):

npm install -g less

接下来就可以使用lessc来编译.less文件了:

lessc example/example.less example/example.css

更多选项可以直接运行lessc查看说明。

浏览器端使用

LESSCSS也可以不经编译,直接在浏览器端使用。

使用方法:

  1. 下载LESSCSS的.js文件,例如lesscss-1.4.0.min.js。
  2. 在页面中引入.less文件

    <link rel="stylesheet/less" href="example.less" />
    

    需要注意rel属性的值是stylesheet/less,而不是stylesheet。

  3. 引入第1步下载的.js文件

    <script src="lesscss-1.4.0.min.js"></script>
    

需要特别注意的是,由于浏览器端使用时是使用ajax来拉取.less文件,因此直接在本机文件系统打开(即地址是file://开头)或者是有跨域的情况下会拉取不到.less文件,导致样式无法生效。

还有一种情况容易导致样式无法生效,就是部分服务器(以IIS居多)会对未知后缀的文件返回404,导致无法正常读取.less文件。解决方案是在服务器中为.less文件配置MIME值为text/css(具体方法请搜索)。或者还有一种更简单的方法,即是直接将.less文件改名为.css文件即可。

更多说明

更多使用上的说明请参见使用说明。

更新说明

1.4.0

1.4.0已经正式发布,这个版本引入了一些新特性,如派生(extends)、data-uri函数以及更多的数学函数。详细的变更情况请查看更新日志。

在这个版本中,有一些不兼容的变化。

  • @import-once被移除,现在@import的默认行为就是只引入一次(和旧版本@import-once功能一样)。
  • 像(~".myclass_@{index}") {...}这样在选择器中插入变量的语法不再被支持,请使用.myclass_@{index} {...}来代替,这种新语法在1.3.1以上版本中都支持。
  • 用于浏览器的less.js不再包含es5-shim.js。因为我们之前用的es5-shim.js版本中有一些错误,而新版本的体积又明显变大了。使用时请根据需要选用es5-shim或者是只在现代浏览器中使用。
  • 引入了一种“严格运算模式”(可选),在严格运算模式中,数学运算必须被括号包裹,如:

    (1 + 1)  // 2
    1 + 1    // 1+1
    

    在1.4.0中,这个选项默认被关闭,但我们希望在未来的某个时间将它默认设置为开启。我们建议你升级代码的写法,并打开严格运算模式。(在命令行中加上-strict-math=on或者是在JavaScript代码中加入strictMath:true。)带括号的写法与旧版的less编译器兼容。

  • 引入了一种“严格单位模式”(strictUnits:true或者strict-units=on),这将强制让lessc验证单位的合法性。例如4px/2px结果为2,而不是2px,而4em/2px将报错。目前没有将这个选项默认打开的计划,但它可能在排查bug的时候有用。
  • 单位的运算功能已完成,所以(4px * 3em) / 4px以前结果是3px,但现在是3em。但是,我们没有取消有单位数字向无单位数字转换的功能,除非“严格单位模式”被开启。

你可以现在就将选择器中插入变量、运算、单位的涉及到的变化应用到代码中去,这些变化能很好地与less 1.3.3兼容。

前端技术(七)——less 教程 less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 阅读详情

相关推荐

CSS预处理器篇学习-01 LESS

CSS是一门非程序式的语言, 没有变量/函数/作用域等概念,需要书写大量看似没有逻辑的代码, 不方便维护及扩展, 也不利于复用。 所以,CSS预处理器就是升级版CSS CSS 预处理器就是用某一种语言用来为 CSS 增加一些动态语言的的特性(变量、函数、继承等), CSS预处理器可以让你的 CSS 更见简洁,适应性更强,代码更直观等诸多好处 1、体验LESS LESS就是一种CSS预处理器 什么是...

weixin_44552302的博客 880

CSS——less

1、less简述 less就是简便书写css的工具,还是像写css那样写,只是有些比较简洁,可以写除法、选择器套选择器等等。保存.less文件,就会在同级别下自动生成.css文件。 在px单位转换到rem单位过程中,哪项工作是最麻烦的? 答:除法运算。CSS不支持计算写法。解决方案:可以通过Less实现。 Less是一个CSS预处理器, Less文件后缀是.less; 扩充了 CSS 语言, 使 CSS 具备一定的逻辑性、计算能力; 注意:浏览器不识别Less代码,目前阶段,网页要引入对应的CS

qq_48613863的博客 8926

安装Quartus-II 13 和Modelsim

目录一、Quartus-II安装1.Quartus-II 13下载2.Quartus-II 13安装3.Quartus-II 13注册二、Modelsim安装 实验目的:安装Quartus-II 13 和Modelsim 实验环境:Windows10 参考资料:Quartus-II安装及使用 一、Quartus-II安装 1.Quartus-II 13下载 正点原子官方资料下载 百度网盘下载链接: https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA 提取码:

qqq080的博客 8626

Less语法介绍以及和CSS的区别(整理版)

Less是一门CSS预处理语言,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS更易维护和扩展Less和CSS非常像,因此很容易学习。而且Less仅对CSS语言增加了少许方便的扩展Less文件需要经过Less预处理器编译成为CSS。...

m0_63779088的博客 8091

MounRiver Studio实战:像管理个人项目一样整理沁恒MCU的EVT例程(附文件结构图)

本文详细介绍了如何使用MounRiver Studio重构沁恒MCU的EVT例程,实现工程化管理。通过分析官方EVT设计的局限性,提出标准化的目录结构和迁移步骤,帮助开发者提升代码可维护性和团队协作效率。文章还提供了MounRiver Studio的关键配置参数和常见问题排查指南,适用于沁恒MCU开发者。

weixin_33940469的博客 356

编译opencv4.2时出现undefined reference to `jpeg_default_qtables‘错误的解决方案

操作系统:kylinV10 opencv版本:4.2.0 在编译opencv4.2.0的版本时,出现undefined reference to `jpeg_default_qtables’的错误提示,导致openc编译中断,不能继续编译,所以这个错误必须解决。 解决方案 查看错误的名字,根据名字分析,很有可能是当前系统中没有安装jpeg第三方库,到 http://www.ijg.org/上下载最新的源码包 jpegsrc.v9e.tar.gz,按如下顺序开始编译安装: tar -xzvf jpegsr.

jndingxin的专栏 5105

less语法详解

1.less的定义 less是一个CSS预处理器,可以为网站启用可自定义,可管理和可重用的样式表。 做为 CSS 的一种形式的扩展,它并没有减少 CSS 的功能,而是在现有的 CSS 语法上,为CSS加入程序式语言的特性,以便可以通过Web浏览器读取。 它提供诸如变量,函数, mixins 和操作等功能,可以构建动态CSS。 2.特征 更清晰和更可读的代码可以以有组织的方式编写。 我们...

匪鉴 1万+

手把手教你用Anaconda安装李沐d2l-zh包(附常见报错解决方案)

本文提供了一份详尽的Anaconda环境下安装李沐d2l-zh包的实战指南。文章从创建虚拟环境、配置国内镜像源加速下载入手,分步讲解核心依赖的预安装策略,并重点剖析了安装过程中常见的报错及其解决方法,旨在帮助初学者和开发者高效、稳定地搭建深度学习实验环境。

efc1234567的博客 1010

less基础详解

1.初识less less作为一门CSS扩展语言,也就是说CSS预处理器。(Leaner Style Sheets)简称less,它只不过是为css新增这些的功能,比如说:变量、函数、作用域等等。它的优点是:更具有维护性、扩展性等,可以降低了维护的成本,根据按这样的话,那么less可以让我们写更少的代码做更多的事情。 和css相比下,css的语法非常简单,而且对开发者来说要求比较低,比较合适小白者,但是遇到有些问题,比如没有这种变量、函数等等,的确还不如less的扩展性,需要写大量的代...

h907310116的博客 3万+

一文看懂—Agent多智能体协作

多智能体协作已成为AI应对复杂任务的关键范式,通过模拟人类团队分工,实现专业化、高效化和纠错能力。本文系统阐述了多智能体协作的核心概念(智能体分工、工作流编排、工具使用)、与产品规划的关联(任务拆解、错误处理、组织架构设计),以及典型应用场景(报告生成、客服工单、学习规划)。同时剖析了常见陷阱(循环卡死、信息失真、成本失控)及解决方案,并提供了实用工具模板(角色定义卡、工作流画布、成本仪表盘)。最后通过市场竞品分析和旅行规划两个实战案例,展示了多智能体协作的实际价值。该技术正推动AI从单点智能迈向系统智能,

lee006006的博客 1033

彻底解决0x80070005错误代码:全面分析与实战指南

0x80070005错误代码虽然令人头疼,但通过上述方法,我们完全有能力将其攻克。从检查磁盘空间、设置账号权限,到运行疑难解答和系统文件检查器,再到调整相关服务状态,每一步都是解决这一问题的关键。希望本文能为你提供有力的帮助,让你在使用Windows系统的过程中更加顺畅无忧。

nntxthml的博客 6933

less 的 & 详解

背景介绍 Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。使用less我们就会经常用到&,它的用途有很多,今天写组件的时候遇到了几个问题所以整理一下 & 作用介绍 内层选择器前面的 & 符号就表示对父选择器的引用。在一个内层选择器的前面,如果没有 & 符号,则它被解析为父选择器的后代;如果有 & 符号,它就被解析为父元素自身或父元素的伪类。同时用在选择器中的&

hsany330的专栏 2万+

[ROS] rviz 可视化工具

[ROS] rviz 可视化工具 摄像头没讲 文章目录[ROS] rviz 可视化工具1. todo2. todo*. 参考*. 问题解决*. rough 1. todo 2. todo *. 参考 *. 问题解决 *. rough roscore + rviz

weixin_37834269的博客 2049

Less语法详解:从零开始,轻松掌握Less

/ 定义一个颜色变量// 定义一个字体大小变量// 定义一个内边距变量混合通过的形式定义,其中mixin-name是混合的名称。混合内部可以包含任何 CSS 规则。.rounded {除了内置函数,还可以自定义函数。自定义函数允许封装一段代码,并在需要时调用它。#header {

m0_59873661的博客 1万+

Claude Code 里的 MCP 连接失败到底在报什么

文档还说明,HTTP 类型、stdio 类型等 MCP server 的接入方式不同,stdio server 会被 Claude Code 当作本地进程拉起,而 HTTP server 则需要 Claude Code 去访问一个已经存在的 HTTP endpoint。把这段输出翻成更接地气的运维语言,就是 Claude Code 已经知道我们想接两个外部能力,一个是 SAP ADT 官方 MCP,一个是 Chrome DevTools MCP,但当前没有一个完成握手。,因为它的信号更明确。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 145

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LESS详解之编译LESS

掌握LESS,必须先掌握LESS的编译。因为LESS是CSS预处理语言的一种,是一种动态语言。LESS可以运行在各种语言和环境中,包括浏览器端、服务器端等。就因为是一种CSS预处理语言,所以需要编译。下面为大家介绍一下编译的方法。

梦龙小站 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

less命令详解

less是一个功能强大的终端分页查看器,用于按屏查看文本文件内容。与more类似,但功能更丰富,被誉为”阅读日志文件和命令输出的理想工具“。

weixin_70787959的博客 381

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Less详解

是 CSS 语言的超集,比CSS更丰满。用一种专门的编程语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。通俗的说,CSS预处理器用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的CSS文件,以供项目使用。CSS预处理器为CSS增加一些编程的特性,无需考虑浏览器的兼容性问题,例如你可以在CSS中使用变量、简单的逻辑程序、函数等等在编程语言中的一些基本特性,可以让你的CSS更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。

懂搬砖 1377

Less变量详解

普通的变量 Css默认不支持变量,当我们使用less之后就可以使用。   其定义方式是 @变量名:值 ,如下,我们定义一个变量green,设置一个颜色green,然后将网页背景设置为绿色: @green: #801f77; header { background: @green; }   注意:由于变量只能定义一次,实际上他们就是“常量” 作为选择器和属性名   使用时将变量以@

lidiya007的博客 6551

Less基础详解

本文抄自(https://blog.youkuaiyun.com/h907310116/article/details/109819846)便于自己记忆 1、初识less less作为 一门扩展语言,也就是说CSS预处理器。(Leaner Style Sheets)简称less,它只不过是为CSS新增这些功能,比如说:变量、函数、作用域等等。他的优点是:更具有维护性,扩展性能,可以降低维护成本,根据按这样的话,那么less可以让我们写更少的代码做更多的事情。 和CSS相比,css的语言非常简单,而且对开发者来说要求比较

syz1203的博客 1888

linux 命令:less详解

linux 命令:less详解

yspg_217的博客 1万+
上一篇: es6 扩展运算符 三个点(...)
下一篇: package.json文件详解
function__
博客等级 码龄10年 99粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值