资讯专栏INFORMATION COLUMN

css3+less随机动画总结

Mertens / 2233人阅读

摘要:前言有个动画需求,有几个,需要不同时,不同幅度移动,用了实现重点使用,内可嵌入代码,获得的内容可以做名字,也可以当作数字参与的其他计算,但是获得的内容不能当作名字编译前编译后总结在

前言

有个动画需求,有几个div,需要不同时,不同幅度移动,用了css3+less实现

重点

使用~``,``内可嵌入js代码,获得的内容可以做keyframes 名字,也可以当作数字参与less的其他计算,但是获得的内容不能当作class名字

编译前

</>复制代码

  1. .move (@random) {
  2. @name: ~`"an-div-move-@{random}"`;
  3. @keyframes @name {
  4. 0% {
  5. transform: translate(0, 0);
  6. }
  7. 50% {
  8. transform: translate(0, @random/1000+.3rem);
  9. }
  10. 100% {
  11. transform: translate(0, 0);
  12. }
  13. }
  14. @s: ~`Math.random()`;
  15. animation: @name linear 8s infinite @s*5*1s;
  16. }
  17. .div-1 {
  18. .move( `~Math.round(Math.random()*1000)`);
  19. }
  20. .div-2 {
  21. .move(~`Math.round(Math.random()*1000)`);
  22. }
  23. .div-3 {
  24. .move(~`Math.round(Math.random()*1000)`);
  25. }
编译后

</>复制代码

  1. .div-1 {
  2. animation: an-div-move--611 linear 8s infinite 4.82357906s;
  3. }
  4. @keyframes an-div-move--611 {
  5. 0% {
  6. transform: translate(0, 0);
  7. }
  8. 50% {
  9. transform: translate(0, -0.311rem);
  10. }
  11. 100% {
  12. transform: translate(0, 0);
  13. }
  14. }
  15. .div-2 {
  16. animation: an-div-move-493 linear 8s infinite 1.7538035s;
  17. }
  18. @keyframes an-div-move-493 {
  19. 0% {
  20. transform: translate(0, 0);
  21. }
  22. 50% {
  23. transform: translate(0, 0.793rem);
  24. }
  25. 100% {
  26. transform: translate(0, 0);
  27. }
  28. }
  29. .div-3 {
  30. animation: an-div-move-557 linear 8s infinite 4.65403445s;
  31. }
  32. @keyframes an-div-move-557 {
  33. 0% {
  34. transform: translate(0, 0);
  35. }
  36. 50% {
  37. transform: translate(0, 0.857rem);
  38. }
  39. 100% {
  40. transform: translate(0, 0);
  41. }
  42. }
总结

在vue-cli中不能使用,直接less编译可以,可以用在webpack自己配置的项目中
但是不知道为什么可以这么写,没找到官方的说明

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/115784.html

相关文章

  • HTML5 活动宣传页「My Flyme 独家记忆」开发实践总结

    摘要:年前放假的最后一天,我们上线了独家记忆活动宣传页。微信分享主要代码参考独家记忆当时光凝固,当回忆定格。这是属于我和的独家记忆。 年前放假的最后一天,我们上线了「My Flyme 独家记忆」 H5 活动宣传页。 因种种原因,直到放假前几天,才突然要求我们参与并开始项目的前端部分。此时大概的情况是:所有数据已计算完毕;后端接口已完成待联调;交互视觉只出了不到四分之一(一共二十多个页面);我...

    Anonymous1 评论0 收藏0
  • HTML5 活动宣传页「My Flyme 独家记忆」开发实践总结

    摘要:年前放假的最后一天,我们上线了独家记忆活动宣传页。微信分享主要代码参考独家记忆当时光凝固,当回忆定格。这是属于我和的独家记忆。 年前放假的最后一天,我们上线了「My Flyme 独家记忆」 H5 活动宣传页。 因种种原因,直到放假前几天,才突然要求我们参与并开始项目的前端部分。此时大概的情况是:所有数据已计算完毕;后端接口已完成待联调;交互视觉只出了不到四分之一(一共二十多个页面);我...

    harryhappy 评论0 收藏0
  • “蝉原则”与CSS3随机多背景随机圆角等效果

    摘要:那蝉原则对我们网页设计有什么启示呢那就是可以以最小成本实现更自然的随机效果。本文就演示两个借助蝉原则和特性实现随机效果的例子。一、什么是蝉原则? 蝉原则,英文称作cicada principle,是一种让事物的重复出现符合自然随机性的规则,为什么这么说呢? 蝉原则源自于北美,中国似乎并未有这样的说法,这背后是有有故事的: 北美和东亚蝉的种群是不一样的,在东亚蝉的幼虫生活在土中3年5年或7...

    crossoverJie 评论0 收藏0
  • SegmentFault 技术周刊 Vol.38 - 神奇的 CSS

    摘要:层叠即表示允许以多种方式来描述样式,一个元素可以被渲染呈现出多种样式。可以让属性的变化过程持续一段时间,而不是立即生效。比如,将元素的颜色从白色改为黑色,通常这个改变是立即生效的,使用后,将按一个曲线速率变化。 showImg(https://segmentfault.com/img/bVZwyL?w=900&h=385); CSS 的全称是 Cascading Style Sheet...

    elliott_hu 评论0 收藏0

发表评论

0条评论

Mertens

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<