123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- @mixin theme($property, $variable) {
- $theme: (
- 'dialer_text_color': #ffb400,
- 'dialer_prize_font_size': 12px,
- 'dialer_prize_name_padding': 8px,
- 'dialer_prize_inner_padding': 8px,
- 'dialer_prize_image_size': 36px
- );
- $value: map-get($theme, $variable);
- #{$property}: $value;
-
- /* #ifndef APP-IOS || APP-ANDROID */
- $css-variable: var(--#{$variable}, #{$value});
- #{$property}: #{$css-variable};
- /* #endif */
- }
- .l-dialer {
- position: relative;
- &__inner {
- width: 100%;
- height: 100%;
- flex:1;
- position: relative;
- @include theme('color', 'dialer_text_color');
- background-repeat: no-repeat;
- background-size: cover;
- box-sizing: border-box;
- border-radius: 999px;
- overflow: hidden;
- // transition: transform 3s ease;
- // transform-origin: 50% 50%;
- transition-property: transform;
- transition-timing-function: cubic-bezier(0.250, 0.460, 0.455, 0.995);
- &-border {
- position: absolute;
- left: 0;
- top: 0;
- bottom: 0;
- right: 0;
- }
- &-wrap {
- position: relative;
- z-index: 1;
- width: 100%;
- height: 100%;
- border-radius: 999px;
- overflow: hidden;
- box-sizing: border-box;
- // background: red;
- /* #ifndef APP-ANDROID */
- &::after {
- position: absolute;
- left: 0;
- top: 0;
- bottom: 0;
- right: 0;
- content: '';
- border-radius: 50%;
- box-shadow: 0 0 20rpx currentColor inset;
- }
- /* #endif */
- }
- &-item {
- overflow: hidden;
- position: absolute;
- top: -50%;
- left: 50%;
- width: 100%;
- height: 100%;
- transform-origin: 0 100%;
- }
- &-content {
- position: absolute;
- @include theme('padding-top', 'dialer_prize_inner_padding');
- box-sizing: border-box;
- width: 100%;
- height: 100%;
- left: -50%;
- bottom: -50%;
- display: flex;
- flex-direction: column;
- align-items: center;
- }
- &-name {
- @include theme('padding-top', 'dialer_prize_name_padding');
- @include theme('padding-bottom', 'dialer_prize_name_padding');
- @include theme('font-size', 'dialer_prize_font_size');
- @include theme('color', 'dialer_text_color');
- }
- &-img {
- @include theme('width', 'dialer_prize_image_size');
- @include theme('height', 'dialer_prize_image_size');
- }
- }
- &__pointer {
- position: absolute;
- left: 50%;
- top: 50%;
- transform: translate(-50%, -50%);
- z-index: 1;
- }
- }
- /* #ifndef APP-IOS || APP-ANDROID */
- .heart {
- animation: heart 1s infinite;
- }
- @keyframes heart {
- 0% {
- transform: scale(1);
- }
- 25% {
- transform: scale(1.03);
- }
- to {
- transform: scale(1);
- }
- }
- /* #endif */
|