index.styl 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. replace2(val)
  2. r = match('\$[^() ]+', val, 'gi')
  3. re = val
  4. for v, i in r
  5. k = split(v, re)
  6. j = s('%s', convert(v))
  7. re = join(j, k)
  8. unquote(re)
  9. theme($property, $imp)
  10. a = replace('(\$[^() ]+)', '$1', $imp)
  11. // #ifndef APP-NVUE
  12. b = replace('(\$)([^() ]+)', 'var(--$2, $1$2)', $imp)
  13. // #endif
  14. {$property} replace2(a)
  15. // #ifndef APP-NVUE
  16. {$property} replace2(b)
  17. // #endif
  18. $dialer_text_color ?= #ffb400
  19. $dialer_prize_font_size ?= 12px
  20. $dialer_prize_name_padding ?= 8px
  21. $dialer_prize_inner_padding ?= 8px
  22. $dialer_prize_image_size ?= 36px
  23. .l-dialer
  24. position relative
  25. &__inner
  26. width 100%
  27. height 100%
  28. position relative
  29. // color $dialer_text_color
  30. theme('color', '$dialer_text_color')
  31. background-repeat no-repeat
  32. background-size cover
  33. box-sizing border-box
  34. &-border
  35. position absolute
  36. left 0
  37. top 0
  38. bottom 0
  39. right 0
  40. &-wrap
  41. position relative
  42. z-index 1
  43. // flex 1
  44. width 100%
  45. height 100%
  46. border-radius 50%
  47. overflow hidden
  48. box-sizing border-box
  49. &::after
  50. position absolute
  51. left 0
  52. top 0
  53. bottom 0
  54. right 0
  55. content ''
  56. border-radius 50%
  57. box-shadow 0 0 20rpx currentColor inset
  58. &-item
  59. overflow hidden
  60. position absolute
  61. top -50%
  62. left 50%
  63. width 100%
  64. height 100%
  65. transform-origin 0 100%
  66. &-content
  67. position absolute
  68. theme('padding-top', '$dialer_prize_inner_padding')
  69. // padding-top $dialer_prize_inner_padding
  70. box-sizing border-box
  71. width 100%
  72. height 100%
  73. left -50%
  74. bottom -50%
  75. display flex
  76. flex-direction column
  77. align-items center
  78. &-name
  79. theme('padding-top', '$dialer_prize_name_padding')
  80. theme('padding-bottom', '$dialer_prize_name_padding')
  81. theme('font-size', '$dialer_prize_font_size')
  82. theme('color', '$dialer_text_color')
  83. // padding-top $dialer_prize_name_padding
  84. // padding-bottom $dialer_prize_name_padding
  85. // font-size $dialer_prize_font_size
  86. // color $dialer_text_color
  87. &-img
  88. // margin-top 24rpx
  89. theme('width', '$dialer_prize_image_size')
  90. theme('height', '$dialer_prize_image_size')
  91. // width $dialer_prize_image_size
  92. // height $dialer_prize_image_size
  93. &__pointer
  94. position absolute
  95. left 50%
  96. top 50%
  97. transform translate(-50%, -50%)
  98. z-index 1
  99. .heart
  100. animation heart 1s infinite
  101. @keyframes heart
  102. 0%
  103. transform scale(1)
  104. 25%
  105. transform scale(1.03)
  106. to
  107. transform scale(1)