工作中常用Less知识点实践总结
我所理解的Less的一些好处
- 函数式编程css
- 自定义变量用于整体主题调整
- 嵌套语法简化开发复杂度
mixin的写法
.defaultBorder(@width: 10px, @style: solid, @color: red){
border: @width @style @color;
}
when条件判断函数
.area(@width) when(@width <= 200px){
width: @width;
background-color: yellow;
}
@media screen and (max-width: 200px){
.when{
.area(100px);
}
}
@media screen and (min-width: 201px){
.when{
.area(210px);
}
}
loop循环函数
.widthFun(100);
.widthFun(@n, @i:10) when (@i <= @n){
width-@{i}{
width: (@i * 100% / @n);
}
.widthFun(@n,(@i+10))
}
// 上面这段loop编程成css:
width-10 {
·width: 10%;
}
width-20 {
·width: 20%;
}
width-30 {
·width: 30%;
}
width-40 {
·width: 40%;
}
width-50 {
·width: 50%;
}
width-60 {
·width: 60%;
}
width-70 {
·width: 70%;
}
width-80 {
·width: 80%;
}
width-90 {
·width: 90%;
}
width-100 {
·width: 100%;
}
常用的数值计算函数
// unit()对数值连接单位/去除单位
width: unit(@num, px);
// round()对数值四舍五入取整数
width: round(@num);
// ceil()对数值向下取整数
width: ceil(@num);
// floor()对数值向上取整数
width: floor(@num);
// percentage()把小数转化为百分比
width: percentage(@num);
// abs()对数值取绝对值
width: unit(abs(@num));
// lighten()颜色提亮
color: lighten(@color, 10%);
// darken()颜色变暗
background-color: darken(@bgColor, 20%);
Less的匹配模式(类似于函数重载)
// 示例:方向不同的样式三角形
.sanjiao(down ,@w: 100px, @c:#ff6600){
border-width: @w;
border-color: @c transparent transparent transparent;
border-style: solid;
}
.sanjiao(top ,@w: 100px, @c:#ff6600){
border-width: @w;
border-color: transparent transparent @c transparent;
border-style: solid;
}
.sanjiao(left ,@w: 100px, @c:#ff6600){
border-width: @w;
border-color: transparent @c transparent transparent;
border-style: solid;
}
.sanjiao(right ,@w: 100px, @c:#ff6600){
border-width: @w;
border-color: transparent transparent transparent @c ;
border-style: solid;
}
#tranigle{
width: 0;
height: 0;
overflow: hidden;
.sanjiao(right)
}
Less中的论据
直接使用函数默认数值
.border(@s: solid, @c :#ff6600, @h:10px){
border: @arguments;
}
Less中免编译
具体的使用场景就是calc在less中的使用,calc在scss中可以按照css的样式直接去写
.width{
// css3中的计算属性 calc
width: calc(300px * 0.3);
// ~'XXX'指示less不要编译XXX而是直接把XXX写入css文件中
width: ~'calc(300px * 0.3)';
}
Less中的!important
.sss{
width: 100px;
height: 100px;
border: 10px;
}
.box{
// 编译成css后,每个.sss中的属性后面都加上了 !important
.sss !important;
}
Less中的其他函数
可以参考官网的文档详细学习
Less在实际应用中的注意事项
Less中运算符号都会被计算,使用属性一些特殊值的时候会出现一些问题
这个示例是在做egg形状的时候需要用到的属性,如果直接使用/
会导致50% / 60%
被计算成为0.8333333%显示在样式中,这样就会出现问题,
所以需要使用转义符来保证这个属性的值原样输出,一开始做的时候没有注意到这点,搜索less转义符
,
看到这个介绍才反应过来
// border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
border-radius: ~"50% 50% 50% 50% / 60% 60% 40% 40%";
Less在Vue中使用的时候需要在main.js
中注册,Sass不用
我是 fx67ll.com,如果您发现本文有什么错误,欢迎在评论区讨论指正,感谢您的阅读!
如果您喜欢这篇文章,欢迎访问我的 本文github仓库地址,为我点一颗Star,Thanks~
转发请注明参考文章地址,非常感谢!!!
工作中常用Less知识点实践总结的更多相关文章
- Java工作中常用到的工具
刚看但网上一篇Java最流行工具的文章,结合自己日常应用总结一下开发工作中常用到的工具. 一,Java版本,jdk8,也是Java普及最快的版本,除了本身性能提升外,新增的函数式编程特性也让开发效率更 ...
- 工作中常用到的Java集合类有哪些?
前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y Java集合是我认为在Java基础中最最重要的知 ...
- Git-【技术干货】工作中Git的使用实践
Git-[技术干货]工作中Git的使用实践 置顶 2019-09-17 21:02:16 web洋仔 阅读数 11444更多 分类专栏: Git 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- 工作中常用的js、jquery自定义扩展函数代码片段
仅记录一些我工作中常用的自定义js函数. 1.获取URL请求参数 //根据URL获取Id function GetQueryString(name) { var reg = new RegExp(&q ...
- 工作中常用的Linux命令:mkdir命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6076075.html (转载请注明出处) 在Linux系统中,mkdir命令用来创建一个目录或一个级联目录. ...
- 工作中常用的Linux命令:crontab命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...
- 工作中常用的Linux命令:ipcs/ipcrm命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6057100.html (转载请注明出处) ipcs 1. 命令格式 ipcs [resource-option ...
- 工作中常用的Linux命令:find命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6056571.html (转载请注明出处) 1.命令格式 find [-H] [-L] [-P] [-D deb ...
- 工作中常用的QTP操作Excel函数
前言 本文只是对工作中常用的EOM相关函数的整理,并不是要写个大而全的操作手册,如果想对EOM有更多的了解可以参考QTP的帮助文档或查看QTP安装目录\CodeSamplesPlus\UsingExc ...
- 收集一些工作中常用的经典SQL语句
作为一枚程序员来说和数据库打交道是不可避免的,现收集一下工作中常用的SQL语句,希望能给大家带来一些帮助,当然不全面,欢迎补充! 1.执行插入语句,获取自动生成的递增的ID值 INSERT INTO ...
随机推荐
- 记一次WPF的DataGrid绑定数据
之前一直在用winform,但是感觉界面不好看,然后就自己在网上学习WPF.一开始看到DataGrid的时候,还以为它是DataGridView,然后用winform的方法绑定数据发现不行,在不断的查 ...
- 力扣35(java&python)-搜索插入位置(简单)
题目: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 请必须使用时间复杂度为 O(log n) 的算法. 示例 1: 输入: ...
- 力扣901(java&python)-股票价额跨度(中等)
题目: 编写一个 StockSpanner 类,它收集某些股票的每日报价,并返回该股票当日价格的跨度. 今天股票价格的跨度被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天) ...
- DataV 3D 平面地图 2.0 焕新上线
简介:DataV3月,3D平面地图2.0现已上线~ 3D 平面地图 2.0 现已上线~ 让我们来看看更新了哪些功能吧! 01 交互升级,省市区自由下钻 自带行政区域数据,无需配置: 甚至,可以通 ...
- EventBridge消息路由|高效构建消息路由能力
简介:企业数字化转型过程中,天然会遇到消息路由,异地多活,协议适配,消息备份等场景.本篇主要通过 EventBridge 消息路由的应用场景和应用实验介绍,帮助大家了解如何通过 EventBridg ...
- Dubbo-go v3.0 正式发布 ——打造国内一流开源 Go 服务框架
简介:Dubbo-go 是常新的,每年都在不断进化.介绍 Dubbo-go 3.0 工作之前,先回顾其过往 6 年的发展历程,以明晰未来的方向. 作者 | 李志信 来源 | 阿里技术公众号 作者 ...
- 网易云音乐音视频算法的 Serverless 探索之路
简介: 基于音视频算法服务化的经验,网易云音乐曲库团队与音视频算法团队一起协作,一起共建了网易云音乐音视频算法处理平台,为整个云音乐提供统一的音视频算法处理平台.本文将分享我们如何通过 Server ...
- 快速上手 Serverless | 入门第一课
简介: 本文从云计算抛砖引玉,详解 Serverless 的典型应用场景和一些产品介绍. 一. 从云计算到 Serverless 自世界上第一台通用计算机 ENIAC (图左)诞生以来,计算机科学与技 ...
- 伴鱼:借助 Flink 完成机器学习特征系统的升级
简介: Flink 用于机器学习特征工程,解决了特征上线难的问题:以及 SQL + Python UDF 如何用于生产实践. 本文作者陈易生,介绍了伴鱼平台机器学习特征系统的升级,在架构上,从 Sp ...
- docker 安装nginx 配置目录挂载
目录 nginx 的安装 运行mynginx容器 设置开机自动启动容器 nginx 的安装 mkdir /usr/local/docker cd /usr/local/docker docker ru ...