@nutui/nutui-react-taro
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
117 lines (116 loc) • 4.83 kB
CSS
:root,
page {
--nut-scale-f: 1;
--nut-scale-font: var(--nut-scale-f, 1);
--nut-scale-icon: var(--nut-scale-f, 1);
--nut-icon-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) ;
--nut-icon-width: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) ;
--nut-icon-line-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) ;
}
.nut-switch {
--nut-switch-height: var(--nutui-switch-height, calc(24px * var(--nut-scale-f, 1)));
--nut-switch-inside-width: var(--nutui-switch-inside-width, calc(32px * var(--nut-scale-f, 1)));
--nut-switch-border-width: var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1)));
--nut-switch-label-margin-offset: calc(
var(--nut-switch-inside-width) + var(--nut-switch-border-width) + 3px
);
cursor: pointer;
position: relative;
/* #ifdef dynamic*/
display: flex;
/* #endif */
/* #ifndef dynamic*/
display: inline-flex;
/* #endif */
flex-direction: row;
align-items: center;
min-width: var(--nutui-switch-width, calc(56px * var(--nut-scale-f, 1)));
height: var(--nutui-switch-height, calc(24px * var(--nut-scale-f, 1)));
background-color: var(--nutui-switch-active-background-color, var(--nutui-color-primary, #ff0f23));
border-radius: var(--nutui-switch-border-radius, calc(50px * var(--nut-scale-f, 1)));
background-size: 100% 100%;
background-repeat: no-repeat;
background-position: center center;
flex: 0 0 auto;
}
.nut-switch-button {
position: absolute;
top: 50%;
transform: translateY(-50%);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: var(--nutui-switch-inside-height, calc(20px * var(--nut-scale-f, 1)));
width: var(--nutui-switch-inside-width, calc(32px * var(--nut-scale-f, 1)));
border-radius: var(--nutui-switch-inside-border-radius, calc(50px * var(--nut-scale-f, 1)));
background: var(--nutui-color-primary-text, #ffffff);
transition: left 0.3s linear;
box-shadow: var(--nutui-switch-inside-box-shadow, 0px calc(4px * var(--nut-scale-f, 1)) calc(8px * var(--nut-scale-f, 1)) 0px rgba(0, 0, 0, 0.12));
}
.nut-switch-button-open {
left: calc(100% - var(--nut-switch-inside-width) - var(--nut-switch-border-width));
}
.nut-switch-button-open-rtl {
left: var(--nut-switch-border-width);
}
.nut-switch-button-close {
left: var(--nut-switch-border-width);
}
.nut-switch-button-close-rtl {
left: calc(100% - var(--nut-switch-inside-width) - var(--nut-switch-border-width));
}
.nut-switch-close {
background-color: var(--nutui-switch-inactive-background-color, var(--nutui-color-text-disabled, #b4b8bf));
}
.nut-switch-close-line {
width: calc((var(--nut-switch-height) - var(--nut-switch-border-width) * 2) * 0.5);
height: calc(2px * var(--nut-scale-f, 1));
background: var(--nutui-switch-inactive-line-background-color, var(--nutui-color-primary-text, #ffffff));
border-radius: calc(2px * var(--nut-scale-f, 1));
}
.nut-switch .nut-icon {
width: calc(var(--nut-switch-height) * 0.5);
height: calc(var(--nut-switch-height) * 0.5);
color: var(--nutui-switch-active-disabled-background-color, var(--nutui-color-primary-disabled-special, #ff91a5));
}
.nut-switch-label {
/* #ifdef dynamic*/
display: flex;
/* #endif */
/* #ifndef dynamic*/
display: inline-flex;
/* #endif */
align-items: center;
height: 100%;
white-space: nowrap;
color: var(--nutui-switch-label-text-color, var(--nutui-color-primary-text, #ffffff));
font-size: var(--nutui-switch-label-font-size, var(--nutui-font-size-xs, calc(11px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
}
.nut-switch-label .nut-icon {
color: var(--nutui-switch-label-text-color, var(--nutui-color-primary-text, #ffffff));
}
.nut-switch-label-open {
margin: 0 var(--nut-switch-label-margin-offset) 0 calc(7px * var(--nut-scale-f, 1));
}
.nut-switch-label-open-rtl {
margin: 0 calc(7px * var(--nut-scale-f, 1)) 0 var(--nut-switch-label-margin-offset);
}
.nut-switch-label-close {
margin: 0 calc(7px * var(--nut-scale-f, 1)) 0 var(--nut-switch-label-margin-offset);
}
.nut-switch-label-close-rtl {
margin: 0 var(--nut-switch-label-margin-offset) 0 calc(7px * var(--nut-scale-f, 1));
}
.nut-switch-label-close-disabled {
color: var(--nutui-switch-inactive-disabled-label-text-color, var(--nutui-color-text-disabled, #b4b8bf));
}
.nut-switch-label-close-disabled .nut-icon {
color: var(--nutui-switch-inactive-disabled-label-text-color, var(--nutui-color-text-disabled, #b4b8bf));
}
.nut-switch-disabled {
background-color: var(--nutui-switch-active-disabled-background-color, var(--nutui-color-primary-disabled-special, #ff91a5));
}
.nut-switch-disabled-close {
background-color: var(--nutui-switch-inactive-disabled-background-color, var(--nutui-color-background-component));
}