1.解决的问题

.class-rule(p,2,width 20px animation-dely 0.1s);可以生成下列css样式

.p2 {
animation-dely: 0.2s;
width: 40px;
}
.p1 {
animation-dely: 0.1s;
width: 20px;
}

2.less 代码

.class-rule(@name,@number,@rest) when(@number > 0){

	@max-index:length(@rest) / 2;
.@{name}@{number}{
.setAttribute(@max-index,@number,@rest,@name);
}
.class-rule(@name,@number - 1,@rest);
.setAttribute(@index,@number,@rest,@name) when(@index > 0){ @initialValue:extract(@rest,(@index - 1) * 2 + 2);
@attribute:extract(@rest,(@index - 1) * 2 + 1);
@{attribute}:@initialValue * @number;
.setAttribute(@index - 1,@number,@rest,@name);
}
}

  .class-index(p,3,animation-delay 0.1s );
  .class-index(p,3,animation-delay 0.1s width 20px);
  *@number 需大于1
  animation-delay 0.1s
  这样的参数会被认为是一个列表,列表中有两个元素,下标从1开始
  .class-rule和.setAttribute都会在第二个参数大于0的时候递归调用自己
  前者用于类选择器的输出后者用于样式的输出

less封装样式有规律的类选择器-遁地龙卷风的更多相关文章

  1. CSS 样式的使用方式、选择器

    在html中使用css的三种方式: 1.行内样式:同过元素的style属性来设置 <p style="font-size:20px; color:red">hello& ...

  2. 巧用CSS3伪类选择器自定义checkbox和radio的样式

    由于原生的checkbox和radio的样式太简陋了,在设计页面的时候,设计师往往会设计自己的checkbox和radio样式.一半情况下,为了适应各个浏览器的兼容性,我们都会用其他的元素替代原生的c ...

  3. 关于CSS各种选择器,还有各种引入样式表的区别,import导入样式表,在介绍一些伪类选择器

    (一)CSS选择器: 1.标签选择器:通过HTML的标签名直接选择该标签 2.类选择器:通过.选择器的名称{} 来对添加了class属性的标签进行选中 3.ID选择器:通过#选择器的名称{} 来对添加 ...

  4. (转)CSS3:nth-child()伪类选择器,奇偶数行自定义样式first-child

    原文地址 Table表格奇偶数行定义样式: CSS3的强大,让人惊叹,人们在惊喜之余,又不得不为其艰难的道路感到可惜:好的标准只有得到行业浏览器的良好支持才算得上“标准”.CSS3标 准已提出数年,但 ...

  5. CSS3:nth-child()伪类选择器,Table表格奇偶数行定义样式

    转自爱设计 原文链接http://www.dangshopex.com/jishufenxiang/WEBkaifajishu/8653.html CSS3的强大,让人惊叹,人们在惊喜之余,又不得不为 ...

  6. from提交数据,高级选择器,伪类选择器,前端样式等

    1. form提交数据 get: 不安全的提交数据,高效 post: 安全的提交数据,低效 前台都可以给后台提交数据,后台一定会给前台一个反馈结果 2. 高级选择器 <!DOCTYPE html ...

  7. HTML+CSS教程(四)选择器(id选择器,类选择器,标签选择器,子代选择器,后代选择器,组选择器,伪类选择器)/css引入页面的形式(行内样式、内嵌样式、外联样式)

    一.回顾内容 前端的三大组成(三大模块)    HTMl(超文本标记语言) 结构层    css(层叠样式表) 表现层:用来美化HTML结构    JS(Java script)(脚本语言) 行为层: ...

  8. CSS3 nth 伪类选择器

    考察下面的 HTML 代码片段: <div> <section>section 1</section> <section>section 2</s ...

  9. 谈谈一些有趣的CSS题目(十)-- 结构性伪类选择器

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

随机推荐

  1. 获取Iframe页面高度并赋值给Iframe以及获取iframe里的元素

    最近接手了别人的项目,别人用到了iframe,自己在实战中总结了一些关于iframe的小问题. 获取Iframe页面高度并赋值给Iframe Html <iframe name="co ...

  2. “百度杯”CTF比赛 十月场 Hash 复现

    进入题后老套路得到两个关键: 1.$hash=md5($sign.$key);the length of $sign is 8 2.key=123&hash=f9109d5f83921a551 ...

  3. nginx正则匹配

    1.通用匹配规则 .     匹配除换行符以外的任意字符 \w  匹配字母.数字.下划线.汉字 \s   匹配任意的空白符 \d   匹配数字 ^    匹配字符串的开始 $    匹配字符串的结束 ...

  4. Divisibility by 25 CodeForces - 988E (技巧的暴力)

    You are given an integer nn from 11 to 10181018 without leading zeroes. In one move you can swap any ...

  5. 【算法】shortest distance

    好不容易找到的. #include<iostream> #include<iomanip> #include<cmath> using namespace std; ...

  6. JQuery td内容获取,修改

    业务需求:获取某个表格中每一行第四个td内容,并根据内容为当前td重新赋值 $(".listtable.table.table-striped.table-bordered.table-ho ...

  7. vue 倒计时组件

    <template> <span> <i v-text="msg"></i> </span></template& ...

  8. ADT打开layout目录的xml报错java.lang.NullPointerException

    原因为使用了Android Studio的绿色JRE,必须要安装安装版JDK或者JRE,绿色版JRE放在ADT目录虽然能启动ADT但是不能启动layout目录的xml

  9. 2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018) - 4.28

    赛后补了几道 赛中我就写了两个... A - Altruistic AmphibiansGym - 101933A 看了眼榜没几个人做.就没看. 最后发现就是一个DP(但是我觉得复杂度有点迷) 题意: ...

  10. 原型设计的工具-----Axure RP

     原型设计的工具-----Axure RP 1.原型设计的工具 目前能用于原型设计的工具有很多,其中有七种比较好. (1)    Axure RP (2)    Mockplus (3)    Jus ...