You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
2.3 KiB
116 lines
2.3 KiB
@import "mixins/mixins"; |
|
@import "common/var"; |
|
|
|
@include b(switch) { |
|
display: inline-flex; |
|
align-items: center; |
|
position: relative; |
|
font-size: $--switch-font-size; |
|
line-height: $--switch-height; |
|
height: $--switch-height; |
|
vertical-align: middle; |
|
@include when(disabled) { |
|
& .el-switch__core, |
|
& .el-switch__label { |
|
cursor: not-allowed; |
|
} |
|
} |
|
|
|
@include e(label) { |
|
transition: .2s; |
|
height: $--switch-height; |
|
display: inline-block; |
|
font-size: $--switch-font-size; |
|
font-weight: 500; |
|
cursor: pointer; |
|
vertical-align: middle; |
|
color: $--color-text-primary; |
|
|
|
@include when(active) { |
|
color: $--color-primary; |
|
} |
|
|
|
@include m(left) { |
|
margin-right: 10px; |
|
} |
|
@include m(right) { |
|
margin-left: 10px; |
|
} |
|
& * { |
|
line-height: 1; |
|
font-size: $--switch-font-size; |
|
display: inline-block; |
|
} |
|
} |
|
|
|
@include e(input) { |
|
position: absolute; |
|
width: 0; |
|
height: 0; |
|
opacity: 0; |
|
margin: 0; |
|
} |
|
|
|
@include e(core) { |
|
margin: 0; |
|
display: inline-block; |
|
position: relative; |
|
width: $--switch-width; |
|
height: $--switch-height; |
|
border: 1px solid $--switch-off-color; |
|
outline: none; |
|
border-radius: $--switch-core-border-radius; |
|
box-sizing: border-box; |
|
background: $--switch-off-color; |
|
cursor: pointer; |
|
transition: border-color .3s, background-color .3s; |
|
vertical-align: middle; |
|
|
|
&:after { |
|
content: ""; |
|
position: absolute; |
|
top: 1px; |
|
left: 1px; |
|
border-radius: $--border-radius-circle; |
|
transition: all .3s; |
|
width: $--switch-button-size; |
|
height: $--switch-button-size; |
|
background-color: $--color-white; |
|
} |
|
} |
|
|
|
@include when(checked) { |
|
.el-switch__core { |
|
border-color: $--switch-on-color; |
|
background-color: $--switch-on-color; |
|
&::after { |
|
left: 100%; |
|
margin-left: -$--switch-button-size - 1px; |
|
} |
|
} |
|
} |
|
|
|
@include when(disabled) { |
|
opacity: 0.6; |
|
} |
|
|
|
@include m(wide) { |
|
.el-switch__label { |
|
&.el-switch__label--left { |
|
span { |
|
left: 10px; |
|
} |
|
} |
|
&.el-switch__label--right { |
|
span { |
|
right: 10px; |
|
} |
|
} |
|
} |
|
} |
|
|
|
& .label-fade-enter, |
|
& .label-fade-leave-active { |
|
opacity: 0; |
|
} |
|
}
|
|
|