Commit a646fc36fe18e876109f0c6932623b8a617f6b84
1 parent
2e14b458
optimize box-shadow
use two box-shadow when focus, and a :after to make focus style looks better
Showing
1 changed file
with
46 additions
and
7 deletions
Show diff stats
src/styles/components/radio.less
... | ... | @@ -178,34 +178,45 @@ span.@{radio-prefix-cls} + * { |
178 | 178 | height: @btn-circle-size; |
179 | 179 | line-height: @btn-circle-size - 2px; |
180 | 180 | margin: 0; |
181 | - padding: 0 16px; | |
181 | + padding: 0 16px - 1px; | |
182 | 182 | font-size: @font-size-small; |
183 | 183 | color: @btn-default-color; |
184 | 184 | transition: all @transition-time ease-in-out; |
185 | 185 | cursor: pointer; |
186 | 186 | border: 1px solid @border-color-base; |
187 | - //border-left: 0; | |
187 | + border-left: 0; | |
188 | 188 | background: #fff; |
189 | + position: relative; | |
189 | 190 | |
190 | 191 | > span { |
191 | 192 | margin-left: 0; |
192 | 193 | } |
193 | 194 | |
194 | - &:before { | |
195 | + &:before, &:after { | |
195 | 196 | content: ''; |
197 | + display: block; | |
196 | 198 | position: absolute; |
197 | 199 | width: 1px; |
198 | 200 | height: 100%; |
199 | 201 | left: -1px; |
202 | + top: 0; | |
200 | 203 | background: @border-color-base; |
201 | - visibility: hidden; | |
204 | + //visibility: hidden; | |
202 | 205 | transition: all @transition-time ease-in-out; |
203 | 206 | } |
204 | 207 | |
208 | + &:after{ | |
209 | + height: @btn-circle-size + 4px; | |
210 | + left: -1px; | |
211 | + top: -3px; | |
212 | + background: fade(@primary-color, 20%); | |
213 | + opacity: 0; | |
214 | + } | |
215 | + | |
205 | 216 | &:first-child { |
206 | 217 | border-radius: @btn-border-radius 0 0 @btn-border-radius; |
207 | 218 | border-left: 1px solid @border-color-base; |
208 | - &:before { | |
219 | + &:before, &:after { | |
209 | 220 | display: none; |
210 | 221 | } |
211 | 222 | } |
... | ... | @@ -237,11 +248,31 @@ span.@{radio-prefix-cls} + * { |
237 | 248 | background: #fff; |
238 | 249 | border-color: @primary-color; |
239 | 250 | color: @primary-color; |
240 | - //box-shadow: -1px 0 0 0 @primary-color; | |
251 | + box-shadow: -1px 0 0 0 @primary-color; | |
252 | + z-index: 1; | |
253 | + | |
254 | + &:before{ | |
255 | + background: @primary-color; | |
256 | + opacity: 0.1; | |
257 | + } | |
258 | + | |
259 | + &.@{radio-prefix-cls}-focus{ | |
260 | + box-shadow: -1px 0 0 0 @primary-color, 0 0 0 2px fade(@primary-color, 20%); | |
261 | + transition: all @transition-time ease-in-out; | |
262 | + &:after{ | |
263 | + left: -3px; | |
264 | + top: -3px; | |
265 | + opacity: 1; | |
266 | + background: fade(@primary-color, 20%); | |
267 | + } | |
268 | + &:first-child{ | |
269 | + box-shadow: 0 0 0 2px fade(@primary-color, 20%); | |
270 | + } | |
271 | + } | |
241 | 272 | |
242 | 273 | &:first-child { |
243 | 274 | border-color: @primary-color; |
244 | - //box-shadow: none!important; | |
275 | + box-shadow: none; | |
245 | 276 | } |
246 | 277 | |
247 | 278 | &:hover { |
... | ... | @@ -287,6 +318,9 @@ span.@{radio-prefix-cls} + * { |
287 | 318 | height: @btn-circle-size-large; |
288 | 319 | line-height: @btn-circle-size-large - 2px; |
289 | 320 | font-size: @font-size-base; |
321 | + &:after{ | |
322 | + height: @btn-circle-size-large + 4px; | |
323 | + } | |
290 | 324 | } |
291 | 325 | |
292 | 326 | .@{radio-group-button-prefix-cls}.@{radio-group-prefix-cls}-small .@{radio-prefix-cls}-wrapper{ |
... | ... | @@ -294,6 +328,11 @@ span.@{radio-prefix-cls} + * { |
294 | 328 | line-height: @btn-circle-size-small - 2px; |
295 | 329 | padding: 0 12px; |
296 | 330 | font-size: @font-size-small; |
331 | + | |
332 | + &:after{ | |
333 | + height: @btn-circle-size-small + 4px; | |
334 | + } | |
335 | + | |
297 | 336 | &:first-child { |
298 | 337 | border-radius: @btn-border-radius-small 0 0 @btn-border-radius-small; |
299 | 338 | } | ... | ... |