@import "../../style/themes/default"; @import "../../style/mixins/index"; @switch-prefix-cls: ~"@{ant-prefix}-switch"; @switch-duration: .3s; .@{switch-prefix-cls} { position: relative; display: inline-block; box-sizing: border-box; height: 22px; min-width: 44px; line-height: 20px; vertical-align: middle; border-radius: 20px; border: 1px solid #ccc; background-color: #ccc; cursor: pointer; transition: all @switch-duration; user-select: none; &-inner { color: #fff; font-size: @font-size-base; margin-left: 24px; margin-right: 6px; display: block; } &:after { position: absolute; width: 18px; height: 18px; left: 1px; top: 1px; border-radius: 18px; background-color: @body-background; content: " "; cursor: pointer; transition: all @switch-duration, width @switch-duration; } &:active:after { width: 24px; } &:focus { box-shadow: 0 0 0 2px fade(@primary-color, 20%); outline: 0; } &:focus:hover { box-shadow: none; } &-small { height: 14px; min-width: 28px; line-height: 12px; .@{switch-prefix-cls}-inner { margin-left: 18px; margin-right: 3px; } &:after { width: 12px; height: 12px; top: 0; left: 0.5px; } &:active:after { width: 16px; } } &-small&-checked { &:after { left: 100%; margin-left: -12.5px; } .@{switch-prefix-cls}-inner { margin-left: 3px; margin-right: 18px; } } &-small:active&-checked:after { margin-left: -16.5px; } &-checked { border-color: @primary-color; background-color: @primary-color; .@{switch-prefix-cls}-inner { margin-left: 6px; margin-right: 24px; } &:after { left: 100%; margin-left: -19px; } &:active:after { margin-left: -25px; } } &-disabled { cursor: not-allowed; background: #f4f4f4; border-color: #f4f4f4; &:after { background: #ccc; cursor: not-allowed; } .@{switch-prefix-cls}-inner { color: #ccc; } } }