|
75 | 75 | } |
76 | 76 | } |
77 | 77 |
|
78 | | - &--ribbon, |
79 | | - &--ribbon-right, |
80 | | - &--ribbon-left { |
81 | | - position: relative; |
82 | | - display: inline-block; |
83 | | - transform-origin: center center; |
84 | | - border-radius: 0; |
85 | | - |
86 | | - &::before, |
87 | | - &::after { |
88 | | - content: ''; |
89 | | - position: absolute; |
90 | | - width: 0; |
91 | | - height: 0; |
92 | | - bottom: 0; |
93 | | - border-bottom: @badge-basic-height solid @badge-color; |
94 | | - font-size: 0; |
95 | | - } |
96 | | - |
97 | | - &::before { |
98 | | - left: calc(-1 * @badge-basic-height + 1rpx); |
99 | | - border-left: @badge-basic-height solid transparent; |
100 | | - } |
101 | | - |
102 | | - &::after { |
103 | | - right: calc(-1 * @badge-basic-height + 1rpx); |
104 | | - border-right: @badge-basic-height solid transparent; |
105 | | - } |
106 | | - } |
107 | | - |
108 | | - &--ribbon, |
109 | | - &--ribbon-right { |
110 | | - transform: translate(calc(50% - @badge-basic-height + 1rpx), calc(-50% + @badge-basic-height - 1rpx)) rotate(45deg); |
111 | | - } |
112 | | - |
113 | | - &--ribbon-left { |
114 | | - transform: translate(calc(-50% + @badge-basic-height - 1rpx), calc(-50% + @badge-basic-height - 1rpx)) |
115 | | - rotate(-45deg); |
116 | | - } |
117 | | - |
118 | 78 | &--bubble { |
119 | 79 | border-radius: @border-bubble-border-radius; |
120 | 80 | } |
121 | 81 |
|
| 82 | + &--ribbon, |
| 83 | + &--ribbon-right, |
| 84 | + &--ribbon-left, |
122 | 85 | &--triangle-left, |
123 | 86 | &--triangle-right { |
124 | 87 | width: calc(@badge-basic-height * 2); |
125 | 88 | height: calc(@badge-basic-height * 2); |
| 89 | + border-radius: 0; |
126 | 90 | padding: 0; |
127 | 91 | position: absolute; |
128 | 92 | top: 0; |
|
132 | 96 | overflow: hidden; |
133 | 97 | } |
134 | 98 |
|
| 99 | + &--ribbon, |
| 100 | + &--ribbon-right { |
| 101 | + background: linear-gradient(45deg, transparent 50%, @badge-color 50%, @badge-color 82%, transparent 82%); |
| 102 | + } |
| 103 | + |
135 | 104 | &--triangle-right { |
136 | 105 | background: linear-gradient(45deg, transparent 50%, @badge-color 50%); |
| 106 | + } |
| 107 | + |
| 108 | + &--ribbon, |
| 109 | + &--ribbon-right, |
| 110 | + &--triangle-right { |
137 | 111 | right: 0; |
138 | 112 |
|
139 | 113 | .@{prefix}-badge__count { |
140 | | - transform: rotate(45deg) translateY(calc(-1 * var(--td-line-height-mark-extraSmall, 32rpx) / 2)); |
| 114 | + transform: rotate(45deg) translateY(calc(-1 * var(--td-line-height-mark-extraSmall, 32rpx) / 2 + 2rpx)); |
141 | 115 | } |
142 | 116 | } |
143 | 117 |
|
| 118 | + &--ribbon-left { |
| 119 | + background: linear-gradient(-45deg, transparent 50%, @badge-color 50%, @badge-color 82%, transparent 82%); |
| 120 | + } |
| 121 | + |
144 | 122 | &--triangle-left { |
145 | 123 | background: linear-gradient(-45deg, transparent 50%, @badge-color 50%); |
| 124 | + } |
| 125 | + |
| 126 | + &--ribbon-left, |
| 127 | + &--triangle-left { |
146 | 128 | left: 0; |
147 | 129 |
|
148 | 130 | .@{prefix}-badge__count { |
149 | | - transform: rotate(-45deg) translateY(calc(-1 * var(--td-line-height-mark-extraSmall, 32rpx) / 2)); |
| 131 | + transform: rotate(-45deg) translateY(calc(-1 * var(--td-line-height-mark-extraSmall, 32rpx) / 2 + 2rpx)); |
150 | 132 | } |
151 | 133 | } |
152 | 134 |
|
|
162 | 144 | border-radius: calc(@badge-large-height / 2); |
163 | 145 | } |
164 | 146 |
|
| 147 | + &--large&--ribbon, |
| 148 | + &--large&--ribbon-right, |
| 149 | + &--large&--ribbon-left, |
165 | 150 | &--large&--triangle-right, |
166 | 151 | &--large&--triangle-left { |
167 | 152 | width: calc(@badge-large-height * 2); |
168 | 153 | height: calc(@badge-large-height * 2); |
169 | 154 | } |
170 | 155 |
|
171 | | - &__content:not(:empty) + &--ribbon.@{prefix}-has-count, |
172 | | - &__content:not(:empty) + &--ribbon-right.@{prefix}-has-count, |
173 | | - &__content:not(:empty) + &--ribbon-left.@{prefix}-has-count, |
| 156 | + &--large&--ribbon, |
| 157 | + &--large&--ribbon-right, |
| 158 | + &--large&--triangle-right { |
| 159 | + .@{prefix}-badge__count { |
| 160 | + transform: rotate(45deg) translateY(calc(-1 * var(--td-line-height-mark-small, 40rpx) / 2 + 2rpx)); |
| 161 | + } |
| 162 | + } |
| 163 | + |
| 164 | + &--large&--ribbon-left, |
| 165 | + &--large&--triangle-left { |
| 166 | + .@{prefix}-badge__count { |
| 167 | + transform: rotate(-45deg) translateY(calc(-1 * var(--td-line-height-mark-small, 40rpx) / 2 + 2rpx)); |
| 168 | + } |
| 169 | + } |
| 170 | + |
174 | 171 | &__content:not(:empty) + &--bubble.@{prefix}-has-count, |
175 | 172 | &__content:not(:empty) + &--circle.@{prefix}-has-count, |
176 | 173 | &__content:not(:empty) + &--square.@{prefix}-has-count { |
177 | 174 | transform-origin: center center; |
178 | 175 | transform: translate(-50%, -50%); |
179 | 176 | position: absolute; |
180 | 177 | top: 0; |
181 | | - } |
182 | | - |
183 | | - &__content:not(:empty) + &--ribbon.@{prefix}-has-count, |
184 | | - &__content:not(:empty) + &--ribbon-right.@{prefix}-has-count, |
185 | | - &__content:not(:empty) + &--bubble.@{prefix}-has-count, |
186 | | - &__content:not(:empty) + &--circle.@{prefix}-has-count, |
187 | | - &__content:not(:empty) + &--square.@{prefix}-has-count { |
188 | 178 | left: 100%; |
189 | 179 | } |
190 | 180 |
|
191 | | - &__content:not(:empty) + &--ribbon-left.@{prefix}-has-count { |
192 | | - right: 100%; |
193 | | - } |
194 | | - |
195 | 181 | &__content-text { |
196 | 182 | display: block; |
197 | 183 | font: @font-body-large; |
|
0 commit comments