| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- @import '~@/uni_modules/lime-style/index.scss';
- // $border-radius-circle: 50% !default;
- // $primary-color: #007aff !default;
- // $shadow: create-var(
- // shadow,
- // 0 6px 16px 0 rgba(0, 0, 0, 0.08),
- // 0 3px 6px -4px rgba(0, 0, 0, 0.12),
- // 0 9px 28px 8px rgba(0, 0, 0, 0.05)
- // );
- // 有用户在iphone8,iphone13 测试 radius 不生效
- // vue2 var 不支持rpx。。。。。。神奇
- $liquid-bg-color: create-var(liquid-bg-color, transprent);
- $liquid-size: create-var(liquid-size, 125px);
- $liquid-aspect-ratio: create-var(liquid-aspect-ratio, 1);
- $liquid-border-radius: create-var(liquid-border-radius, $border-radius-hg);
- $liquid-inner-border-radius: create-var(liquid-inner-border-radius, $liquid-border-radius);
- $liquid-wave-color: create-var(liquid-wave-color, $primary-color);
- $liquid-border-distance: create-var(liquid-border-distance, 6px);
- $liquid-border-width: create-var(liquid-border-width, 6px);
- $liquid-border-color: create-var(liquid-border-color, $primary-color);
-
- .l-liquid {
- position: relative;
- border-radius: $liquid-border-radius;
- box-sizing: border-box;
- overflow: hidden;
- width: $liquid-size;
- height: $liquid-size;
- // aspect-ratio: $liquid-aspect-ratio;
- background: $liquid-bg-color;
- &--outline {
- padding: $liquid-border-distance;
- border: $liquid-border-width solid $liquid-border-color;
- box-shadow: $shadow;
- }
- &__inner {
- position: relative;
- width: 100%;
- height: 100%;
- border-radius: $liquid-inner-border-radius;
- overflow: hidden;
- -webkit-transform: translate3d(0, 0, 0);
- }
- &__value {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- z-index: 1;
- display: flex;
- justify-content: center;
- align-items: center;
- }
- &__waves {
- position: absolute;
- left: 0;
- width: 100%;
- height: 100%;
- transform: translateY(var(--l-liquid-percent));
- transition-property: transform;
- transition-duration: 300ms;
- }
- .wave {
- position: absolute;
- left: 0;
- top: 0;
- height: 200%;
- width: 200%;
- animation: wave 2500ms linear infinite;
- background: $liquid-wave-color;
- opacity: 1;
- 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%);
- &.two {
- opacity: 0.3;
- animation: wave 2500ms linear -612ms infinite;
- }
- }
- }
-
-
- @keyframes wave {
- to {
- transform: translateX(-50%);
- }
- }
|