tdesign-react
Version:
TDesign Component for React
249 lines (248 loc) • 6.29 kB
CSS
.t-slider__input-container {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-left: var(--td-comp-margin-xxl);
}
.t-slider__input-container.is-vertical {
padding-top: var(--td-comp-paddingTB-l);
margin-left: 0px;
}
.t-slider__input-container .t-slider__center-line {
width: var(--td-size-4);
height: 1px;
background: rgba(0, 0, 0, 0.9);
margin: 0 var(--td-comp-margin-s);
}
.t-slider {
font: var(--td-font-body-medium);
color: var(--td-text-color-primary);
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
list-style: none;
height: calc(var(--td-comp-paddingTB-xs) * 2 + var(--td-size-2));
width: 100%;
position: relative;
padding: var(--td-comp-paddingTB-xs) 0;
}
.t-slider__container {
width: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.t-slider__container.is-vertical {
height: 100%;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
.t-slider__rail {
position: absolute;
width: 100%;
height: var(--td-size-2);
background-color: var(--td-bg-color-secondarycomponent);
-webkit-transition: 0.2s linear;
transition: 0.2s linear;
border-radius: var(--td-radius-round);
}
.t-slider__rail:hover {
background-color: var(--td-bg-color-secondarycomponent-hover);
}
.t-slider__track {
position: absolute;
height: var(--td-size-2);
background-color: var(--td-brand-color);
right: auto;
border-radius: var(--td-radius-round);
}
.t-slider__step {
position: absolute;
width: 100%;
height: var(--td-size-2);
cursor: pointer;
}
.t-slider__button {
width: var(--td-comp-size-xxxs);
height: var(--td-comp-size-xxxs);
border: 2px solid var(--td-brand-color);
background-color: #fff;
border-radius: var(--td-radius-circle);
-webkit-transition: 0.2s;
transition: 0.2s;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-shadow: var(--td-shadow-1);
box-shadow: var(--td-shadow-1);
}
.t-slider__button--dragging {
-webkit-box-shadow: 0 0 0px 2px var(--td-brand-color-focus);
box-shadow: 0 0 0px 2px var(--td-brand-color-focus);
}
.t-slider__button:hover {
background-color: var(--td-gray-color-1);
}
.t-slider__button-wrapper {
position: absolute;
z-index: 2;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background-color: transparent;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
line-height: normal;
outline: none;
cursor: pointer;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.t-slider__stop {
position: absolute;
width: 1px;
height: var(--td-size-2);
background-color: var(--td-bg-color-secondarycomponent);
top: 4px;
}
.t-slider__mark {
position: absolute;
top: 2px;
left: 0;
width: 100%;
}
.t-slider__mark-text {
position: absolute;
display: inline-block;
font: var(--td-font-body-small);
color: var(--td-text-color-primary);
top: calc(var(--td-size-2) + var(--td-comp-paddingTB-xs) + 2px);
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
cursor: pointer;
white-space: nowrap;
}
.t-slider__mark-text:first-child {
-webkit-transform: translateX(0%);
transform: translateX(0%);
}
.t-slider__mark-text:last-child {
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
}
.t-slider--vertical {
height: 100%;
padding: 0;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
position: relative;
}
.t-slider--vertical .t-slider__rail {
width: var(--td-size-2);
height: 100%;
}
.t-slider--vertical .t-slider__track {
width: var(--td-size-2);
top: auto;
}
.t-slider--vertical .t-slider__step {
width: var(--td-size-2);
height: 100%;
}
.t-slider--vertical .t-slider__handle {
margin-top: -6px;
margin-left: -5px;
top: auto;
-webkit-transform: translateY(50%);
transform: translateY(50%);
}
.t-slider--vertical .t-slider__mark {
top: 0;
left: 12px;
width: 18px;
height: 100%;
}
.t-slider--vertical .t-slider__stop {
width: var(--td-size-2);
height: 1px;
left: 4px;
background-color: var(--td-bg-color-secondarycomponent);
}
.t-slider--vertical .t-slider__mark-text {
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
margin-top: 0;
margin-left: var(--td-comp-margin-xxs);
}
.t-slider--vertical .t-slider__button-wrapper {
top: auto;
position: absolute;
z-index: 2;
left: 50%;
-webkit-transform: translate(-50%, 50%);
transform: translate(-50%, 50%);
background-color: transparent;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
line-height: normal;
outline: none;
cursor: pointer;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.t-is-disabled {
cursor: not-allowed;
}
.t-is-disabled .t-slider__track {
background-color: var(--td-brand-color-disabled);
}
.t-is-disabled .t-slider__rail {
background-color: var(--td-bg-color-component-disabled);
}
.t-is-disabled .t-slider__handle {
border: 2px solid var(--td-brand-color-disabled);
}
.t-is-disabled .t-slider__button {
border-color: var(--td-brand-color-disabled);
outline: none;
}
.t-is-disabled .t-slider__mark-text {
color: var(--td-text-color-disabled);
cursor: not-allowed;
}
.t-is-disabled .t-slider__button-wrapper {
cursor: not-allowed;
}