CSS如何实现弹簧效果的旋转加载动画

有人这样描绘四姑娘山:四姑娘山孕育着银色冬天的梦幻,绿色春天的生命,金色秋天的希望,蓝色夏天的憧憬。四姑娘山,走进她,靠近她,你才知道什么是美,这种美带给你的是各种不同的感受,四季轮转中也无改她的美丽,四姑娘山如婉约的少女,又如豪壮的勇士,伫立在天地间,无比的圣洁,不愧是蜀山之后,东方的阿尔卑斯。

先看看效果,像是弹簧在伸缩:

具体代码:

此处用到CSS3的transform属性。
CSS3的变形(transform)属性让元素在一个坐标系统中变形。这个属性包含一系列变形函数,可以移动、旋转和缩放元素。
transform属性可用于内联元素和块元素。其默认值为none,表示不元素不进行变形。transform另一个属性值是一系列的<transform-function>。<transform-function>表示一个或多个变形函数,以空格分开;我们可以同时对一个元素进行变形的多种属性操作,如rotate、scale、translate等。以往我们叠加效果都是用逗号(“,”)隔开,但在transform中使用多个transform-function时却需要有空格隔开。
● 2D transform常用的transform-function的功能:
transform属性3D变形(3D transform)模块的一部分,也就是说所有的2D变形函数也包含于3D变形规范中。如此一来,CSS3变形中的函数根据不同的规范略有不同,下面列出的是变形中的2D和3D常用变形函数的功能,简单说明如下:
translate():用来移动元素,可以根据X轴和Y轴坐标重新定位元素位置。在此基础上有两个扩展函数:translateX()和translateY()。
scale():用来缩小或放大元素,可以使用元素尺寸发生变化。在此基础上有两个扩展函数:scaleX()和scaleY()。 rotate():用来旋转元素。
skew():用来让元素倾斜。在此基础上有两个扩展函数:skewX()和skewY()。
matrix():定义矩阵变形,基于X轴和Y轴坐标重新定位元素位置。
● 3D transform常用的transform-function的功能:
translate3d():移元素元素,用来指定一个3D变形移动位移量。
translate():指定3D位移在Z轴的位移量。
scale3d():用来缩放一个元素。
scaleZ():指定Z轴的缩放向量。
rotate3d():指定元素具有一个三维旋转的角度。
rotateX()、rotateY()和rotateZ():让元素具有一个旋转角度。
perspective():指定一个透视投影矩阵。
matrix3d():定义矩阵变形。
● transform-origin属性用来设置变换的原点。示例中代表旋转中心。

CSS Code复制内容到剪贴板
  1. #loader2,
  2. #loader2:before,
  3. #loader2:after{
  4. border-radius:50%;
  5. }
  6. #loader2:before,
  7. #loader2:after{
  8. position:absolute;
  9. content:'';
  10. }
  11. #loader2:before{
  12. width:5.2em;
  13. height:10.2em;
  14. background:#ffffff;
  15. border-radius:10.2em0010.2em;
  16. top:-0.1em;
  17. left:-0.1em;
  18. -webkit-transform-origin:5.2em5.1em;
  19. transform-origin:5.2em5.1em;
  20. -webkit-animation:load22sinfiniteease1.5s;
  21. animation:load22sinfiniteease1.5s;
  22. }
  23. #loader2{
  24. font-size:11px;
  25. text-indent:-99999em;
  26. margin:20px20px;
  27. position:relative;
  28. float:left;
  29. width:10em;
  30. height:10em;
  31. box-shadow:inset0001em#ff0f88;
  32. }
  33. #loader2:after{
  34. width:5.2em;
  35. height:10.2em;
  36. background:#ffffff;
  37. border-radius:010.2em10.2em0;
  38. top:-0.1em;
  39. left:5.1em;
  40. -webkit-transform-origin:0px5.1em;
  41. transform-origin:0px5.1em;
  42. -webkit-animation:load22sinfiniteease;
  43. animation:load22sinfiniteease;
  44. }
  45. @-webkit-keyframesload2{
  46. 0%{
  47. -webkit-transform:rotate(0deg);
  48. transform:rotate(0deg);
  49. }
  50. 100%{
  51. -webkit-transform:rotate(360deg);
  52. transform:rotate(360deg);
  53. }
  54. }
  55. @keyframesload2{
  56. 0%{
  57. -webkit-transform:rotate(0deg);
  58. transform:rotate(0deg);
  59. }
  60. 100%{
  61. -webkit-transform:rotate(360deg);
  62. transform:rotate(360deg);
  63. }
  64. }

以上就是本文的全部内容,希望对大家学习CSS加载动画好代码教程有所帮助。

您可能有感兴趣的文章
css让页脚保持在底部位置的四种方案

CSS如何使用Flex和Grid布局如何实现3D骰子

Flex布局史上最简单使用语法教程

新的CSS 伪类函数 :is() 和 :where()示例详解

纯CSS打字动画的如何实现示例