css Safari -线性动画中的白色间隙

zf2sa74q  于 2023-10-21  发布在  其他
关注(0)|答案(1)|浏览(126)

我在Safari上的动画有困难-它在其他任何地方都工作得很好,但是在Safari上的线性循环动画中有这些白色间隙。我尝试了不同的东西,比如设置webkit-perspective或transform 3d,但似乎都不起作用。我错过了什么?

  1. .animation-wrapper {
  2. width: 100%;
  3. height: 100%;
  4. display: flex;
  5. justify-content: center;
  6. align-content: space-between;
  7. z-index: 999999;
  8. position: absolute;
  9. top: 0;
  10. left: 0;
  11. backface-visibility: hidden;
  12. }
  13. .animation-waves {
  14. height: 14vw;
  15. width: 100%;
  16. position: absolute;
  17. bottom: 0;
  18. left: 0;
  19. right: 0;
  20. animation: fadein 4s;
  21. perspective: 1000;
  22. backface-visibility: hidden;
  23. }
  24. .animation-waves-item {
  25. width: 400%;
  26. transform: translate(-4%);
  27. background-size: auto 230%;
  28. background-repeat: repeat-x;
  29. position: absolute;
  30. height: 100%;
  31. animation: splash-wave 50s -3s linear infinite;
  32. opacity: 0.8;
  33. perspective: 1000;
  34. backface-visibility: hidden;
  35. transform: translate3d(0, 0, 0);
  36. background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='800' height='209' xmlns='http://www.w3.org/2000/svg' version='1.1'%3e%3cg%3e%3ctitle%3eLayer 1%3c/title%3e%3cpath id='svg_1' fill='red' clip-rule='evenodd' fill-rule='evenodd' d='m721.33335,44.87378c0,0 0,0 0,0c-4.88889,-1.61705 -9.77778,-2.82984 -14.66667,-4.44689c0,0 0,0 0,0c0,0 0,0 0,0l0,0c-12.66667,-3.63836 -25.33333,-7.68099 -38.22222,-10.91509c0,0 0,0 0,0c-125.55556,-34.36232 -255.55556,-48.91578 -444.00001,13.74493c0,0 -9.33333,2.42558 -24.44445,6.06394c-92.88889,19.40461 -153.11112,18.19182 -181.33334,15.76624c-6.44444,-0.80853 -12.66667,-1.61705 -18.66667,-2.42558l0,145.93881l800.00002,0l0,-138.66208l0,-7.68099c-33.77778,-5.25541 -62.44445,-12.53214 -78.66667,-17.38329z' class='st0'/%3e%3c/g%3e%3c/svg%3e")
  37. }
  38. @keyframes splash-wave {
  39. 0% {
  40. transform: translateX(-4%) translateZ(0);
  41. }
  42. 50% {
  43. transform: translateX(-20%) translateZ(0);
  44. }
  45. 100% {
  46. transform: translateX(-35%) translateZ(0);
  47. }
  48. }
  1. <div class="container">
  2. <div class="animation-wrapper">
  3. <div class="animation-waves">
  4. <div class="animation-waves-item">fds</div>
  5. <div class="animation-waves-item">fs</div>
  6. </div>
  7. </div>
  8. </div>
332nm8kg

332nm8kg1#

你只能使用CSS来创建wave。我有一个online generatora detailed article以及

  1. .wave {
  2. position: fixed;
  3. inset: auto 0 0;
  4. height: 200px;
  5. background: red;
  6. --mask:
  7. radial-gradient(127.28px at 50% 180.00px,#000 99%,#0000 101%) 50% 0/360px 100%,
  8. radial-gradient(127.28px at 50% -90px,#0000 99%,#000 101%) calc(50% + 180px) 90px/360px 100% repeat-x;
  9. -webkit-mask: var(--mask);
  10. mask: var(--mask);
  11. animation: move 2s linear infinite;
  12. }
  13. @keyframes move {
  14. to {
  15. -webkit-mask-position:
  16. calc(50% - 360px) 0,
  17. calc(50% - 180px) 90px
  18. }
  19. }
  1. <div class="wave"></div>
展开查看全部

相关问题