20行css实现套娃酷炫动画
css动画发现
最近在探索css动画的时候,发现了一个很好的现象
当一个有元素嵌套的时候,父元素有动画,子元素也有动画,那么子元素的运动会相对父元素的运动而运动
举个例子,假如父元素是一个宽100,高100的盒子,它在从屏幕左侧运动到屏幕右侧。
这个父元素的里面有一个宽10高10的子元素,它不停的从父元素左上角移动到右下角再移动回来。
那么我们看到的子元素是怎样的运动轨迹?其实是在屏幕上走折线。是一种复合的运动!
我们就可以利用这个特性来实现复杂的效果了!
我做了一个套娃旋转的实例,在这里分享一下
效果截图
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
| <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Title</title>
<style> body { overflow: hidden; background-color: black; }
div { padding: 5px; border: solid 1px lightgreen; width: 90%; height: 90%; margin: 0 auto;
animation: myRotate 15s infinite linear; transition: all 0.5s; } div:hover { box-shadow: 0 0 10px yellow; background-color: rgba(0, 200, 200, 0.1); }
.b1 { width: 1000px; height: 100px; margin: 200px auto; }
@keyframes myRotate { 0% { transform: rotate(0deg); border-radius: 0; } 50% { border-color: blue; border-radius: 100px; } 100% { transform: rotate(360deg); border-radius: 0; } } </style> </head>
<body>
<div class="b1"> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> <div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </body>
</html>
|
下一篇文章我会分享利用这个特点来实现人体走路动画的纯css代码
Author:
Littlefean
License:
Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan:
仅个人观点,buddy up!