云链智安app
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

index.scss 3.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. @import '~@/uni_modules/lime-style/index.scss';
  2. // $border-radius-circle: 50% !default;
  3. // $primary-color: #007aff !default;
  4. // $shadow: create-var(
  5. // shadow,
  6. // 0 6px 16px 0 rgba(0, 0, 0, 0.08),
  7. // 0 3px 6px -4px rgba(0, 0, 0, 0.12),
  8. // 0 9px 28px 8px rgba(0, 0, 0, 0.05)
  9. // );
  10. // 有用户在iphone8,iphone13 测试 radius 不生效
  11. // vue2 var 不支持rpx。。。。。。神奇
  12. $liquid-bg-color: create-var(liquid-bg-color, transprent);
  13. $liquid-size: create-var(liquid-size, 125px);
  14. $liquid-aspect-ratio: create-var(liquid-aspect-ratio, 1);
  15. $liquid-border-radius: create-var(liquid-border-radius, $border-radius-hg);
  16. $liquid-inner-border-radius: create-var(liquid-inner-border-radius, $liquid-border-radius);
  17. $liquid-wave-color: create-var(liquid-wave-color, $primary-color);
  18. $liquid-border-distance: create-var(liquid-border-distance, 6px);
  19. $liquid-border-width: create-var(liquid-border-width, 6px);
  20. $liquid-border-color: create-var(liquid-border-color, $primary-color);
  21. .l-liquid {
  22. position: relative;
  23. border-radius: $liquid-border-radius;
  24. box-sizing: border-box;
  25. overflow: hidden;
  26. width: $liquid-size;
  27. height: $liquid-size;
  28. // aspect-ratio: $liquid-aspect-ratio;
  29. background: $liquid-bg-color;
  30. &--outline {
  31. padding: $liquid-border-distance;
  32. border: $liquid-border-width solid $liquid-border-color;
  33. box-shadow: $shadow;
  34. }
  35. &__inner {
  36. position: relative;
  37. width: 100%;
  38. height: 100%;
  39. border-radius: $liquid-inner-border-radius;
  40. overflow: hidden;
  41. -webkit-transform: translate3d(0, 0, 0);
  42. }
  43. &__value {
  44. position: absolute;
  45. top: 0;
  46. left: 0;
  47. width: 100%;
  48. height: 100%;
  49. z-index: 1;
  50. display: flex;
  51. justify-content: center;
  52. align-items: center;
  53. }
  54. &__waves {
  55. position: absolute;
  56. left: 0;
  57. width: 100%;
  58. height: 100%;
  59. transform: translateY(var(--l-liquid-percent));
  60. transition-property: transform;
  61. transition-duration: 300ms;
  62. }
  63. .wave {
  64. position: absolute;
  65. left: 0;
  66. top: 0;
  67. height: 200%;
  68. width: 200%;
  69. animation: wave 2500ms linear infinite;
  70. background: $liquid-wave-color;
  71. opacity: 1;
  72. clip-path: polygon(0% 50%, 2.22222% 51.472%, 4.44444% 52.4967%, 6.66667% 52.7626%, 8.88889% 52.1889%, 11.1111% 50.9501%, 13.3333% 49.4225%, 15.5556% 48.0704%, 17.7778% 47.3047%, 20% 47.3582%, 22.2222% 48.2145%, 24.4444% 49.6134%, 26.6667% 51.1298%, 28.8889% 52.3029%, 31.1111% 52.7761%, 33.3333% 52.4056%, 35.5556% 51.3041%, 37.7778% 49.8062%, 40% 48.3673%, 42.2222% 47.4245%, 44.4444% 47.2644%, 46.6667% 47.9357%, 48.8889% 49.2343%, 51.1111% 50.7657%, 53.3333% 52.0643%, 55.5556% 52.7356%, 57.7778% 52.5755%, 60% 51.6327%, 62.2222% 50.1938%, 64.4444% 48.6959%, 66.6667% 47.5944%, 68.8889% 47.2239%, 71.1111% 47.6971%, 73.3333% 48.8702%, 75.5556% 50.3866%, 77.7778% 51.7855%, 80% 52.6418%, 82.2222% 52.6953%, 84.4444% 51.9296%, 86.6667% 50.5775%, 88.8889% 49.0499%, 91.1111% 47.8111%, 93.3333% 47.2374%, 95.5556% 47.5033%, 97.7778% 48.528%, 100% 50%, 100% 100%, 0% 100%, 0% 0%);
  73. &.two {
  74. opacity: 0.3;
  75. animation: wave 2500ms linear -612ms infinite;
  76. }
  77. }
  78. }
  79. @keyframes wave {
  80. to {
  81. transform: translateX(-50%);
  82. }
  83. }