Less混合结合:nth-child()选择器的高级玩法

简介: Less混合结合:nth-child()选择器的高级玩法

1、先看效果图


image.png

上图中比较麻烦的是每块的底色处理,下面看怎么处理👇


2、:nth-child(n) 选择器


匹配属于其父元素的第 N 个子元素,不论元素的类型。


n 可以是数字、关键词或公式。


  • 数字:最常见的使用方式,eg: :nth-child(1)
  • 关键词: oddeven 是可用于匹配下标是奇数或偶数的子元素的关键词(第一个子元素的下标是 1)。
  • 公式: 使用公式 (an + b)。描述:表示周期的长度,n 是计数器(从 0 开始),b 是偏移值。


3、主要思路:


  1. 运用less混合传参,参数既是 :nth-child(n) 选择器的公式


  1. 在混合里面处理每个原色的底色,通过 :nth-child(n) 选择器结合 ::after 伪元素实现。


有了思路之后,下面让我们看一下具体的代码实现👇


4、代码实现


以下只贴颜色处理的核心代码👇


.colorLine(@index, @startColor, @endColor) {
  .li-item:nth-child(@{index})::after {
    background: linear-gradient(136deg, @startColor, @endColor);
  }
}
.colorLine(1n, rgba(255, 122, 109, 1), rgba(255, 77, 62, 1));
.colorLine(2n, rgba(93, 219, 224, 1), rgba(0, 188, 218, 1));
.colorLine(3n, rgba(59, 220, 72, 1), rgba(92, 209, 46, 1));
.colorLine(4n, rgba(254, 190, 43, 1), rgba(255, 163, 0, 1));
.colorLine(5n, rgba(148, 117, 247, 1), rgba(119, 83, 233, 1));
.colorLine(6n, rgba(148, 87, 156, 1), rgba(189, 46, 221, 1));


4.1、说明:


通过Less混合传参,实现指定了下标是 1,2,3,4,5,6 的倍数的所有 li-item 元素的伪元素背景色


目录
相关文章
vscode点击通过import引入方法名或模块名跳转其定义的文件
window点击ctrl(MAC点击command)+通过import引入的文件、方法等到,跳转到其定义的页面
1449 0
|
7月前
|
JavaScript 前端开发 Java
HarmonyOS NEXT~鸿蒙系统下的Cordova框架应用开发指南
《HarmonyOS NEXT:鸿蒙系统下的Cordova框架应用开发指南》详细介绍如何将Cordova应用适配到鸿蒙系统。文章涵盖兼容性分析、环境配置、特性适配、性能优化及发布调试等内容。尽管Cordova官方暂无直接支持,但通过Cordova-Android平台与定制插件可实现功能扩展。开发者需注意性能差异,并借助插件机制融入鸿蒙特色功能,如服务卡片和分布式能力。未来,随着鸿蒙生态完善,Cordova在该平台的应用将更加广泛且高效。
584 1
|
存储 移动开发 JavaScript
vuex的工作流程,模块化使用案例分享,及状态持久化
vuex的工作流程,模块化使用案例分享,及状态持久化
279 0
|
资源调度 JavaScript 内存技术
error @achrinza/node-ipc@9.2.2: The engine “node“ is incompatible with this module. Expected version
error @achrinza/node-ipc@9.2.2: The engine “node“ is incompatible with this module. Expected version
2008 0
批处理比较数值大小 lss,equ和gtr的用法 if中gtr的特殊应用
转自:http://hi.baidu.com/fairsky007/blog/item/0d8a10850aad1124c75cc3e3.html 批处理比较数值大小 lss,equ和gtr的用法 电脑综合 2010-04-17 14:18:39 阅读196 评论0 ...
6808 0
mac 终端命令kill掉某个指定端口
用mac电脑开发时,有时候会遇到端口占用的问题,导致我们,不得不去结束这个端口。 第一步在终端命令输入: lsof  -i : 端口号(如:lsof -i:8080) 第二步: kill -9 PID (如:kill -9 41848) 如果这个端口存在会出现如上列表,圈红框的那些pid号我们只需要使用 kill -9  PID (圈红框的编号:如:kill -9 41848)就可以结束这个端口进程了!如有多个pid就就需要多次执行kill -9 PID 相同的PID只需要执行一次就可以了。
7172 0
|
前端开发
纯CSS实现酷炫的滑动开关按钮【介绍CSS变量】
纯CSS通过自定义样式,借助:checked伪类实现switch开关效果的按钮。 为了便于修改和调节,使用了css变量控制按钮的大小。并添加属性变化的动画效果...
963 0
纯CSS实现酷炫的滑动开关按钮【介绍CSS变量】
|
前端开发 JavaScript 定位技术
提升前端GIS开发技能:深入了解5个热门地图框架
提升前端GIS开发技能:深入了解5个热门地图框架
1609 0
|
网络安全 开发工具 git
git config 查看,设置,删除项
git config 查看,设置,删除项
git config 查看,设置,删除项