UNPKG

shineout

Version:

Shein 前端组件库

369 lines (368 loc) 9.65 kB
.so-slider { position: relative; padding: 20px 10px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .so-slider-rtl { direction: rtl; text-align: right; text-align: start; } .so-slider-background { height: var(--slider-bar-height, 6px); background: var(--primary-color, #3399ff); border-radius: var(--slider-border-radius, 3px); } .so-slider-inner { position: absolute; top: 20px; right: 10px; left: 10px; height: var(--slider-bar-height, 6px); cursor: pointer; } .so-slider-bar { position: absolute; z-index: 2; top: 0; width: 100%; height: var(--slider-bar-height, 6px); } .so-slider-bar .so-slider-bar-bg { height: 100%; background: var(--slider-bar-color, #ced4da); border-radius: var(--slider-border-radius, 3px); } .so-slider-bar .so-slider-indicator { z-index: 100; -webkit-box-shadow: var(--slider-indicator-box-shadow, none); box-shadow: var(--slider-indicator-box-shadow, none); } .so-slider-bar .so-slider-result { position: absolute; right: 0; bottom: var(--slider-value-bottom, 14px); display: none; padding: 0 4px; background: #fff; border-radius: 2px; font-size: 12px; -webkit-transform: translate(50%, 0); -ms-transform: translate(50%, 0); transform: translate(50%, 0); } .so-slider-rtl .so-slider-bar .so-slider-result { right: auto; left: 0; -webkit-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); transform: translate(-50%, 0); } .so-slider-bar .so-slider-result:after { position: absolute; top: 100%; left: 50%; width: 0; height: 0; border-width: 3px 3px 0 3px; border-style: solid; border-color: #fff transparent transparent transparent; content: ' '; -webkit-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); transform: translate(-50%, 0); } .so-slider-rtl .so-slider-bar .so-slider-result:after { right: 50%; left: auto; -webkit-transform: translate(50%, 0); -ms-transform: translate(50%, 0); transform: translate(50%, 0); } .so-slider-bar .so-slider-result.so-slider-show { display: block; } .so-slider:hover .so-slider-result { display: block; } .so-slider-indicator { position: absolute; top: 50%; right: 0; width: var(--slider-indicator-size, 14px); height: var(--slider-indicator-size, 14px); border: solid 2px var(--primary-color, #3399ff); background: var(--slider-indicator-bg, #fff); border-radius: var(--slider-indicator-size-half, 7px); cursor: pointer; -webkit-transform: translate(50%, -50%); -ms-transform: translate(50%, -50%); transform: translate(50%, -50%); -webkit-transition: background 0.15s ease-in-out; transition: background 0.15s ease-in-out; } .so-slider-rtl .so-slider-indicator { right: auto; left: 0; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .so-slider-indicator:hover { background-color: var(--primary-color, #3399ff); } .so-slider-disabled .so-slider-background { background: var(--slider-disabled-bar-bg, #adb5bd); } .so-slider-disabled .so-slider-inner { cursor: not-allowed; } .so-slider-disabled .so-slider-indicator { border: solid 2px var(--slider-disbaled-indicator-border-color, var(--slider-disabled-bar-bg, #adb5bd)); background: var(--slider-disbaled-indicator-bg, var(--slider-indicator-bg, #fff)); cursor: not-allowed; } .so-slider-right { z-index: 10; right: 0; } .so-slider-rtl .so-slider-right { left: 0; right: auto; } .so-slider-right .so-slider-indicator { right: auto; left: 0; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .so-slider-rtl .so-slider-right .so-slider-indicator { right: 0; left: auto; -webkit-transform: translate(50%, -50%); -ms-transform: translate(50%, -50%); transform: translate(50%, -50%); } .so-slider-right .so-slider-result { right: auto; left: 0; -webkit-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); transform: translate(-50%, 0); } .so-slider-rtl .so-slider-right .so-slider-result { right: 0; left: auto; -webkit-transform: translate(50%, 0); -ms-transform: translate(50%, 0); transform: translate(50%, 0); } .so-slider-scale { display: -webkit-box; display: -ms-flexbox; display: flex; visibility: hidden; } .so-slider-scale.so-slider-show { visibility: visible; } .so-slider-scale div { position: relative; display: block; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; padding-top: 12px; } .so-slider-scale div:last-child { -webkit-box-flex: 0; -ms-flex: 0; flex: 0; } .so-slider-scale div:before { position: absolute; top: 5px; left: -1px; height: 6px; border-left: solid 1px #ccc; content: ' '; } .so-slider-rtl .so-slider-scale div:before { right: -1px; left: auto; } .so-slider-scale div span { position: absolute; font-size: 12px; -webkit-transform: translate(-50%, 0) scale(0.9); -ms-transform: translate(-50%, 0) scale(0.9); transform: translate(-50%, 0) scale(0.9); } .so-slider-rtl .so-slider-scale div span { -webkit-transform: translate(50%, 0) scale(0.9); -ms-transform: translate(50%, 0) scale(0.9); transform: translate(50%, 0) scale(0.9); } .so-slider:hover .so-slider-scale { visibility: visible; } .so-slider-vertical { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; padding: 10px 70px 10px 20px; } .so-slider-vertical.so-slider-rtl { padding: 10px 20px 10px 70px; } .so-slider-vertical .so-slider-background { width: var(--slider-bar-height, 6px); height: 100%; } .so-slider-vertical .so-slider-inner { top: 10px; right: auto; bottom: 10px; left: 20px; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; width: var(--slider-bar-height, 6px); height: auto; } .so-slider-rtl.so-slider-vertical .so-slider-inner { right: 20px; left: auto; } .so-slider-vertical .so-slider-result { right: auto; bottom: 0; left: 15px; padding: 1px 6px; background: #fff; -webkit-transform: translate(0, 50%); -ms-transform: translate(0, 50%); transform: translate(0, 50%); } .so-slider-rtl.so-slider-vertical .so-slider-result { right: 15px; left: auto; -webkit-transform: translate(0, 50%); -ms-transform: translate(0, 50%); transform: translate(0, 50%); } .so-slider-vertical .so-slider-result:after { top: 50%; right: 100%; left: auto; border-width: 3px 3px 3px 0; border-color: transparent #fff transparent transparent; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); } .so-slider-rtl.so-slider-vertical .so-slider-result:after { right: auto; left: 100%; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); border-width: 3px 0 3px 3px; } .so-slider-vertical .so-slider-scale { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } .so-slider-vertical .so-slider-scale-ltr { margin-left: 15px; } .so-slider-vertical .so-slider-scale-rtl { margin-right: 15px; } .so-slider-vertical .so-slider-scale div { padding-top: 0; } .so-slider-vertical .so-slider-scale div:before { top: 0px; left: -10px; width: 6px; height: 0px; border-top: solid 1px #ccc; border-left: 0; } .so-slider-rtl.so-slider-vertical .so-slider-scale div:before { left: auto; right: -10px; } .so-slider-vertical .so-slider-scale div span { -webkit-transform: translate(0, -50%) scale(0.9); -ms-transform: translate(0, -50%) scale(0.9); transform: translate(0, -50%) scale(0.9); } .so-slider-vertical .so-slider-scale div:first-child { -webkit-box-flex: 0; -ms-flex: 0; flex: 0; } .so-slider-vertical .so-slider-scale div:last-child { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .so-slider-bottom { top: auto; bottom: 0; } .so-slider-bottom .so-slider-indicator { top: 0; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .so-slider-rtl .so-slider-bottom .so-slider-indicator { right: 50%; left: auto; -webkit-transform: translate(50%, -50%); -ms-transform: translate(50%, -50%); transform: translate(50%, -50%); } .so-slider-bottom .so-slider-result { top: 0; bottom: auto; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); } .so-slider-rtl .so-slider-bottom .so-slider-result { -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); } .so-slider-top .so-slider-indicator { top: auto; bottom: 0; left: 50%; -webkit-transform: translate(-50%, 50%); -ms-transform: translate(-50%, 50%); transform: translate(-50%, 50%); } .so-slider-rtl .so-slider-top .so-slider-indicator { right: 50%; left: auto; -webkit-transform: translate(50%, 50%); -ms-transform: translate(50%, 50%); transform: translate(50%, 50%); }