index.less 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. @import './var.less';
  2. @import '../style/mixins/ellipsis';
  3. :root {
  4. --van-coupon-margin: @coupon-margin;
  5. --van-coupon-content-height: @coupon-content-height;
  6. --van-coupon-content-padding: @coupon-content-padding;
  7. --van-coupon-content-text-color: @coupon-content-text-color;
  8. --van-coupon-background-color: @coupon-background-color;
  9. --van-coupon-active-background-color: @coupon-active-background-color;
  10. --van-coupon-border-radius: @coupon-border-radius;
  11. --van-coupon-box-shadow: @coupon-box-shadow;
  12. --van-coupon-head-width: @coupon-head-width;
  13. --van-coupon-amount-color: @coupon-amount-color;
  14. --van-coupon-amount-font-size: @coupon-amount-font-size;
  15. --van-coupon-currency-font-size: @coupon-currency-font-size;
  16. --van-coupon-name-font-size: @coupon-name-font-size;
  17. --van-coupon-disabled-text-color: @coupon-disabled-text-color;
  18. --van-coupon-description-padding: @coupon-description-padding;
  19. --van-coupon-description-border-color: @coupon-description-border-color;
  20. --van-coupon-corner-checkbox-icon-color: @coupon-corner-checkbox-icon-color;
  21. }
  22. .van-coupon {
  23. margin: var(--van-coupon-margin);
  24. overflow: hidden;
  25. background: var(--van-coupon-background-color);
  26. border-radius: var(--van-coupon-border-radius);
  27. box-shadow: var(--van-coupon-box-shadow);
  28. &:active {
  29. background-color: var(--van-coupon-active-background-color);
  30. }
  31. &__content {
  32. display: flex;
  33. align-items: center;
  34. box-sizing: border-box;
  35. min-height: var(--van-coupon-content-height);
  36. padding: var(--van-coupon-content-padding);
  37. color: var(--van-coupon-content-text-color);
  38. }
  39. &__head {
  40. position: relative;
  41. min-width: var(--van-coupon-head-width);
  42. padding: 0 var(--van-padding-xs);
  43. color: var(--van-coupon-amount-color);
  44. text-align: center;
  45. }
  46. &__amount,
  47. &__condition,
  48. &__name,
  49. &__valid {
  50. .ellipsis();
  51. }
  52. &__amount {
  53. margin-bottom: 6px;
  54. font-weight: var(--van-font-weight-bold);
  55. font-size: var(--van-coupon-amount-font-size);
  56. .ellipsis();
  57. span {
  58. font-weight: normal;
  59. font-size: var(--van-coupon-currency-font-size);
  60. &:not(:empty) {
  61. margin-left: 2px;
  62. }
  63. }
  64. }
  65. &__condition {
  66. font-size: var(--van-font-size-sm);
  67. line-height: 16px;
  68. white-space: pre-wrap;
  69. }
  70. &__body {
  71. position: relative;
  72. flex: 1;
  73. border-radius: 0 var(--van-coupon-border-radius)
  74. var(--van-coupon-border-radius) 0;
  75. }
  76. &__name {
  77. margin-bottom: 10px;
  78. font-weight: bold;
  79. font-size: var(--van-coupon-name-font-size);
  80. line-height: var(--van-line-height-md);
  81. }
  82. &__valid {
  83. font-size: var(--van-font-size-sm);
  84. }
  85. &__corner {
  86. position: absolute;
  87. top: 0;
  88. right: var(--van-padding-md);
  89. bottom: 0;
  90. .van-checkbox__icon--checked .van-icon {
  91. background-color: var(--van-coupon-corner-checkbox-icon-color);
  92. border-color: var(--van-coupon-corner-checkbox-icon-color);
  93. }
  94. }
  95. &__description {
  96. padding: var(--van-coupon-description-padding);
  97. font-size: var(--van-font-size-sm);
  98. border-top: 1px dashed var(--van-coupon-description-border-color);
  99. }
  100. &--disabled {
  101. &:active {
  102. background-color: var(--van-coupon-background-color);
  103. }
  104. .van-coupon-item__content {
  105. height: calc(var(--van-coupon-content-height) - 10px);
  106. }
  107. .van-coupon__head {
  108. color: inherit;
  109. }
  110. }
  111. }