Less实现函数作为参数传递,创建css3动画@keyframes函数
2020-04-12 12:38
232 查看
最近在做项目的时候遇到要使用css3动画的需求,本身直接手写多个@keyframes也是可以的,但是这样显得效率极其低下。于是产生了用less写css3动画能循环使用的想法,说干就干。直接放代码:
一、简单的函数定义使用
[code]//来回闪烁通用代码 //在定义函数的时候可以这么写 //这是一个可以通用的@keyframes .keyframesFunction (@name,@content){// @变量可以写你想要传进这个函数所用的参数 @keyframes @name{ @content();//你想要执行的动画效果 } } =====================示例===================== //定义时 .keyframesFunction (@name,@content){ @keyframes @name{ @content(); } } //引用时写进所需要的css样式中 .layout{ .keyframesFunction (layout,{ 0%{background-color:#ffffff;} 50%{background-color: #000000;} }); animation: layout 1s infinite; } =====================示例===================== =====================生成的css===================== .layout { animation: layout 1s infinite; } @keyframes layout { 0% { background-color: #ffffff; } 50% { background-color: #000000; } } =====================生成的css=====================
二、拓展使用
简单定义使用中还遇到了一些拓展使用的问题,使用@keyframes实现切换效果不止局限于纯色,还有可能使用到图片。于是修改了一下代码:
[code]===========使用示例================ .keyframesFunction (@name,@url){ @keyframes @name { 0%{background-image:~"url(@{url}1.png)"} 50%{background-image: ~"url(@{url}2.png)"} } } .layout{ @url:'../images/mini/images_';//改成自己图片的路径 .keyframesFunction(layout,@url); animation: layout 1s infinite; } ===========使用示例================ ===========生成的css================ .layout { animation: layout 1s infinite; } @keyframes layout { 0% { background-image: url(../images/mini/images_1.png); } 50% { background-image: url(../images/mini/images_2.png); } } ===========生成的css================
1.这里要注意的地方就是less中对于图片url的路径引用问题
要使用:【~"url(@{url})"】
可以根据自己的需求增加图片路径后缀
三、参考链接:
1.less作为函数传参
2.less中url的使用方法
相关文章推荐
- char *作为函数参数来实现传递
- 实现数组作为函数参数传递,切返回值也是数组
- 如何实现VBA中函数的可变参数传递
- 函数作为参数的传递
- 内置类型和结构体类型作为函数参数传递时的共同点
- ReportView报表实现带参数存储过程创建报表以及为rdlc传递参数
- 数组作为函数参数进行传递
- 数组作为函数参数进行传递
- C++指针作为函数的参数进行传递时注意的问题
- 如何将二维数组作为函数的参数传递
- 不使用引用和全局变量实现函数参数传递
- 二维数组作为参数在函数中传递
- C 语言的数组作为参数在函数之间的传递
- C++指针作为函数的参数进行传递时注意的问题
- C++中将二维数组(静态的和动态的)作为函数的参数传递
- 二维数组作为函数参数传递时函数的声明
- c++之指针作为函数参数传递的问题
- C/C++ 将函数名作为函数参数传递
- JavaScript实现的base62 encode/decode,用于页面上直接对作为参数传递的url本身的编码和解码。
- 如何将二维数组作为函数的参数传递