vui-design
Version:
A high quality UI Toolkit based on Vue.js
238 lines (209 loc) • 4.35 kB
text/less
@vui-slider: ~"@{vui}-slider";
.@{vui-slider} {
position:relative;
display:block;
box-sizing:border-box;
color:@slider-font-color;
font-size:@slider-font-size;
line-height:@slider-line-height;
touch-action:none;
&-track {
position:absolute;
cursor:pointer;
display:block;
box-sizing:border-box;
border-radius:@slider-track-border-radius;
background-color:@slider-track-background-color;
overflow:hidden;
transition:background-color @transition-duration @transition-timing-function;
&-bar {
position:absolute;
display:block;
box-sizing:border-box;
border-radius:@slider-track-bar-border-radius;
background-color:@slider-track-bar-background-color;
transition:background-color @transition-duration @transition-timing-function;
}
}
&-steps {
position:absolute;
display:block;
box-sizing:border-box;
background-color:transparent;
pointer-events:none;
&-item {
position:absolute;
display:block;
box-sizing:border-box;
width:@slider-step-item-size;
height:@slider-step-item-size;
border:@slider-step-item-border-width solid @slider-step-item-border-color;
border-radius:50%;
background-color:@slider-step-item-background-color;
&-active {
border-color:@slider-step-item-active-border-color;
}
}
}
&-marks {
position:absolute;
display:block;
box-sizing:border-box;
background-color:transparent;
pointer-events:none;
&-item {
position:absolute;
cursor:pointer;
display:block;
box-sizing:border-box;
color:@slider-mark-item-font-color;
font-size:@slider-mark-item-font-size;
text-align:center;
pointer-events:auto;
&-active {
color:@slider-mark-item-active-font-color;
}
}
}
&-dragger-wrapper {
position:absolute;
z-index:1;
cursor:pointer;
display:block;
box-sizing:border-box;
border-radius:50%;
.@{vui}-tooltip {
display:block;
}
&-dragging {
z-index:2;
}
}
&-dragger {
cursor:pointer;
display:block;
box-sizing:border-box;
width:@slider-dragger-size;
height:@slider-dragger-size;
border:@slider-dragger-border-width solid @slider-dragger-border-color;
border-radius:50%;
background-color:@slider-dragger-background-color;
box-shadow:none;
appearance:none;
outline:none;
transition:all @transition-duration @transition-timing-function;
&:hover {
border-color:@slider-dragger-hover-border-color
}
&:focus {
border-color:@slider-dragger-focus-border-color;
box-shadow:@slider-dragger-focus-box-shadow;
}
}
&-horizontal {
height:@slider-size;
margin:0 4px;
padding:4px 0;
}
&-horizontal &-track {
left:0;
width:100%;
height:4px;
&-bar {
top:0;
bottom:0;
}
}
&-horizontal &-steps {
left:0;
width:100%;
height:4px;
&-item {
top:-2px;
margin-left:-4px;
}
}
&-horizontal &-marks {
left:0;
width:100%;
height:4px;
&-item {
top:12px;
transform:translateX(-50%);
}
}
&-horizontal &-dragger-wrapper {
margin-top:-4px;
transform:translateX(-50%);
}
&-vertical {
width:@slider-size;
margin:4px 0;
padding:0 4px;
}
&-vertical &-track {
bottom:0;
width:4px;
height:100%;
&-bar {
left:0;
right:0;
}
}
&-vertical &-steps {
bottom:0;
width:4px;
height:100%;
&-item {
left:-2px;
margin-bottom:-4px;
}
}
&-vertical &-marks {
bottom:0;
width:4px;
height:100%;
&-item {
left:12px;
transform:translateY(50%);
}
}
&-vertical &-dragger-wrapper {
margin-left:-4px;
transform:translateY(50%);
}
&-disabled &-track {
cursor:not-allowed;
&-bar {
background-color:@slider-track-bar-disabled-background-color;
}
}
&-disabled &-steps {
&-item {
border-color:@slider-step-item-disabled-border-color;
&-active {
border-color:@slider-step-item-active-disabled-border-color;
}
}
}
&-disabled &-marks {
&-item {
cursor:not-allowed;
color:@slider-mark-item-disabled-font-color;
&-active {
color:@slider-mark-item-active-disabled-font-color;
}
}
}
&-disabled &-dragger {
cursor:not-allowed;
border-color:@slider-dragger-disabled-border-color;
&:hover {
border-color:@slider-dragger-hover-disabled-border-color;
}
&:focus {
border-color:@slider-dragger-focus-disabled-border-color;
box-shadow:@slider-dragger-focus-disabled-box-shadow;
}
}
}