首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >给CSS加点料——Less(四)

给CSS加点料——Less(四)

作者头像
萌兔IT
发布于 2019-07-30 12:02:56
发布于 2019-07-30 12:02:56
49600
代码可运行
举报
文章被收录于专栏:萌兔it萌兔it
运行总次数:0
代码可运行

Hello小伙伴们,今天还是要接着分享less呢!其实less也没剩很多啦,今天就要结束了呢~今天要主要从Extend、Loops和Merge来为大家介绍~

Extend

.extend其实是一个Less伪类,它会合并它所在的选择器和它所匹配的引用。举个?:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.row1{
  width: 4*@length;
  height: 2*@length;
  background: orange;
  &:extend(.row2);
}
.row2{
  color: pink;
}

转化之后是什么样子的呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.row1 {
  width: 400px;
  height: 200px;
  background: orange;
}
.row2,
.row1 {
  color: pink;
}

我们可以见到,row1也拿到了row2的属性,这就是.extend的功劳啦。让我们来解读一下这是什么意思,我们首先通过extend拿到row1选择器,然后在row2所出现的地方应用扩展选择器即row1,row1就能够得到row2的样式啦。扩展选择器不仅可以加给一个选择器,也可以放入一个规则。我们来看看它的语法吧:(这里有点懒,从官网搬了过来

  • 选择器之后的扩展:pre:hover:extend(div pre)。
  • 在选择器和扩展之间有空格是允许的:pre:hover :extend(div pre).
  • 也允许有多个扩展: pre:hover:extend(div pre):extend(.bucket tr) - 注意这与 pre:hover:extend(div pre, .bucket tr)一样。
  • 这是不允许的: pre:hover:extend(div pre).nth-child(odd)。因为扩展必须在最后。

Loops

我们知道在JS、Java、python等语言中,都有循环,但是小伙伴们要问了在less中用循环做什么呢。其实也是有用的,比如有很多个类,row1、row2、row3,只有后面的参数不一样,有了循环,我们是不是可以节约代码了?最常见的例子就是bootstrap的栅格系统!它的用法有点类似于do while:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.generate-columns(4);

.generate-columns(@n, @i: 1) when (@i =< @n) {
  .column-@{i} {
    width: (@i * 100% / @n);
  }
  .generate-columns(@n, (@i + 1));
}

转换成为css则为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.column-1 {
  width: 25%;
}
.column-2 {
  width: 50%;
}
.column-3 {
  width: 75%;
}
.column-4 {
  width: 100%;
}

大家看懂了吗?在本例子中.generate-columns接收一个参数,这个参数就是这个循环的boundary,@i则是从1开始,进行循环,然后when后面则是一个条件判断,如果i达到了boundary,则停止循环,{...}中则是循环要执行的内容了,像本例子则是边界值为4,当i<4的时候,都会去执行输出一个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.column-@{i} {
    width: (@i * 100% / @n);
  }

这样子是不是 清晰了很多呢?

Merge

今天最后要说的是Merge,merge能够从多个属性中将值集合到一个单一的属性之下的逗号或空格分割属性列表中。最适用于background和transform。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.mixin() {
  box-shadow+: outset 0 0 10px #ccc;
}
.myclass {
  .mixin();
  box-shadow+: 0 0 20px eee;
}

转化成CSS:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.myclass {
  box-shadow: outset 0 0 10px #ccc, 0 0 20px eee;
}

可见两个相同的属性名称,在这里不是被覆盖了,而是加到了后面。

Import

最后想唠叨的就是导入,因为我们常常会使用一些样式库,这该怎么办呢?这就请出import了,就比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@import (reference) "rabbit.less";

不仅是less文件,css也可以下面导入指令已经被实现了:

  • reference:使用Less文件但不输出
  • inline:在输出中包含源文件但不加工它
  • less:将文件作为Less文件对象,无论是什么文件扩展名
  • css:将文件作为CSS文件对象,无论是什么文件扩展名
  • once:只包含文件一次(默认行为)
  • multiple:包含文件多次

好啦,今天的分享就到这里啦,喜欢兔妞的文章就请在看+关注吧~~也可以公众号留言,与兔妞互动哦!话说下次更点啥!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萌兔it 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
给CSS加点料——Less(s)
Hello 小伙伴们大家好,今天我们继续less的分享,上次说啥来着?大声说出来!变量!嵌套!今天说点啥?今天说运算、函数和混合。虽然上次我们已经用到了运算,这次就详细说一下咯!对了,这里说明一下,上次的代码在客户端引入css文件主要是为了为大家展示一下通过npm环境进行less编译的过程(生产环境也有很多就是这样用的),如果直接在客户端引入less文件也可以通过以下方式来引入:
萌兔IT
2019/07/30
5190
给CSS加点料——Less(s)
给CSS加点料——Less(二)
在CSS中不能够定义变量,所以在很多元素互相依赖大小时,倘若需要改其中一个大小,我们就要从头改到尾,为了减少这个困扰,less引出了变量的概念,我们可以将值的大小定义为变量,直接在各处引用变量即可,需要更改时,工作量就会大大减小了,同时也会避免因为落下了某几项而产生的问题。
萌兔IT
2019/07/26
7980
给CSS加点料——Less(二)
前端架构师技术之Sass
CSS 仅仅是一个标记语言,不是编程语言,因此不可以自定义变量,也不可以引用。CSS 主要有以下缺点。
张哥编程
2024/12/13
1230
前端面试(4)less,sass,stylus
注意,border 后面必须加上冒号。 在嵌套的代码块内,可以使用&引用父元素。比如 a:hover 伪类,可以写成:
leader755
2022/03/08
1.4K0
前端面试宝典(三)
Hello小伙伴们大家好,这周事情有点多,没有及时更新,就请大家原谅兔妞吧,真的是作息紊乱,还心累,,,呜呜,,,苍天啊,大地啊,兔妞是多么的想更新啊。那么今天就来给大家带来新的题目啦!今天的题目主要集中在CSS上,曾经的我以为CSS是辣样简单,现在看来真的是大错特错,CSS其实是很神奇的。捂脸ing~
萌兔IT
2020/11/30
4900
前端面试宝典(三)
一文学会Less的使用
Less(Leaner Style Sheets 的缩写)是一门 CSS 扩展语言,也称为 CSS 预处理器。
言志志
2024/05/09
2371
一文学会Less的使用
CSS3与页面布局学习总结(七)——前端预处理技术(Less、Sass、CoffeeScript、TypeScript)
根据给定的文章内容,撰写摘要总结。
张果
2018/01/04
2.5K0
CSS3与页面布局学习总结(七)——前端预处理技术(Less、Sass、CoffeeScript、TypeScript)
less介绍
less是一门css预处理语言,目的是使CSS更易维护和扩展,可以运行在Node或者浏览器端。
用户7962184
2020/11/20
7230
Less 极简教程: Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。Less 文件转换为 c
Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。
一个会写诗的程序员
2018/08/17
1.2K0
Less常用语法
Sass 也有它独特的优势,比如更多的功能、更强大的模块化系统和更广泛的社区支持。
码客说
2024/08/03
1850
Less常用语法
九、less
less是一门css的预处理语言, less是一个css的增强版,通过less可以编写更少的代码实现更强大的样式 - 在less中添加了许多的新特性:像对变量的支持、对mixin的支持... ... - less的语法大体上和css语法一致,但是less中增添了许多对css的扩展, 所以浏览器无法直接执行less代码,要执行必须向将less转换为css,然后再由浏览器执行
小海怪的互联网
2021/11/24
3540
css黑魔法简略版
利用css伪类的content属性来输入文本 思路来源 鼠标浮动显示文字 <div data-msg="Open this file in Github Desktop">hover</div> div{ width:100px; border:1px solid red; position:relative; } div:hover:after{ content:attr(data-msg); position:absolute; font-size:
卡少
2018/05/16
9690
前端构建:Less入了个门
一、前言                                说到前端构建怎能缺少CSS预处理器呢!其实CSS的预处理器有很多啦,比较出名的有Scss、Sass、Stylus和Less。(最近还听说出现了Autoprefixer等CSS后处理器,可参考@一丝的PPT)   众多CSS预处理器中Less的语法最接近原生CSS,因此相对来说更容易上手,假如有JS、C#等编程经验的话,其实上述的几种预处理器的学习成本也不会特别高。下面是我们这阵子的学习笔记,以便日后查阅。   最好的入门教程——官网地
^_^肥仔John
2018/01/18
1.8K0
SASS相关
版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/article/details/53309416
空空云
2018/09/27
9170
SASS相关
CSS入门总结(上)
Hello小伙伴们~~经过上一篇的学习相信大家已经知道该怎么构造一个Web页面啦,但是怎么做一个美美哒的页面呢,今天就有请我们CSS大宝贝粉墨登场啦~~当当~~
萌兔IT
2019/07/26
6510
CSS入门总结(上)
【Bootstrap】002-全局CSS样式-概览和栅格系统
Bootstrap 使用到的某些 HTML 元素和 CSS 属性需要将页面设置为 HTML5 文档类型;
訾博ZiBo
2025/01/06
2030
【Bootstrap】002-全局CSS样式-概览和栅格系统
bootstrap快速入门笔记(四)-less用法指南, mixin和变量
这是主要的 Less 文件。该文件中导入了一些其他的 less 文件。该文件中没有任何代码。
用户3055976
2019/02/25
2.2K0
阅读Skeleton.css源码,改善睡眠质量(尽管它只有419行代码)
虽然现在大部分业务都不需要重复造轮子了,但对于小白来说,学习完 Skeleton 源码 是能走出新手村的。
德育处主任
2022/04/17
7890
阅读Skeleton.css源码,改善睡眠质量(尽管它只有419行代码)
【CodeBuddy】三分钟开发一个实用小功能之:数字华容道拼图
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接: 腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴
Jimaks
2025/05/20
1270
【CodeBuddy】三分钟开发一个实用小功能之:数字华容道拼图
CSS入门总结(下)
记得昨天的文章学到了什么吗,让我来帮大家回忆一下吧~经过昨天的学习,我们学会了如何创建CSS,学习了选择器的使用以及选择器的权重并且学习了怎样为选择器添加属性声明,学习了什么是盒子模型,学习了如何定位元素、如何为元素设置宽高、设置背景色、设置填充边距和边框、如何设置字的字体、字号、颜色、对齐方式等。OK,回忆到此为止,其实现在大家就已经可以很好的做一个静态页面了,但是呢,虽然CSS能够用于控制网页的样式和布局,而CSS3才是最新的CSS标准,而且HTML5+CSS3的王道组合往往能够达到事半功倍的效果,所以大家还是要多了解一下~~
萌兔IT
2019/07/26
1.2K0
CSS入门总结(下)
相关推荐
给CSS加点料——Less(s)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档