UNPKG

element-ui

Version:

A Component Library for Vue.js.

208 lines (186 loc) 4.88 kB
@charset "UTF-8"; @import "./input-number.css"; @import "./tooltip.css"; @import "./common/var.css"; @component-namespace el { @b slider { @utils-clearfix; @e runway { width: 100%; height: var(--slider-height); margin: var(--slider-margin); background-color: var(--slider-runway-background-color); border-radius: var(--slider-border-radius); position: relative; cursor: pointer; vertical-align: middle; &.show-input { margin-right: 160px; width: auto; } &.disabled { cursor: default; .el-slider__bar, .el-slider__button { background-color: var(--slider-disable-color); } .el-slider__button-wrapper { &:hover, &.hover { cursor: not-allowed; } &.dragging { cursor: not-allowed; } } .el-slider__button { &:hover, &.hover, &.dragging { transform: scale(1); } &:hover, &.hover { cursor: not-allowed; } &.dragging { cursor: not-allowed; } } } } @e input { float: right; margin-top: 3px; } @e bar { height: var(--slider-height); background-color: var(--slider-main-background-color); border-top-left-radius: var(--slider-border-radius); border-bottom-left-radius: var(--slider-border-radius); position: absolute; } @e button-wrapper { size: var(--slider-button-wrapper-size); position: absolute; z-index: 1001; top: var(--slider-button-wrapper-offset); transform: translateX(-50%); background-color: transparent; text-align: center; user-select: none; @utils-vertical-center; .el-tooltip { vertical-align: middle; display: inline-block; } &:hover, &.hover { cursor: grab; } &.dragging { cursor: grabbing; } } @e button { size: var(--slider-button-size); background-color: var(--slider-main-background-color); border-radius: 50%; transition: .2s; user-select: none; &:hover, &.hover, &.dragging { transform: scale(1.5); background-color: var(--slider-button-hover-color); } &:hover, &.hover { cursor: grab; } &.dragging { cursor: grabbing; } } @e stop { position: absolute; size: var(--slider-height); border-radius: var(--border-radius-circle); background-color: var(--slider-stop-background-color); transform: translateX(-50%); } @when vertical { position: relative; .el-slider__runway { width: 4px; height: 100%; margin: 0 16px; } .el-slider__bar { width: 4px; height: auto; border-radius: 0 0 3px 3px; } .el-slider__button-wrapper { top: auto; left: var(--slider-button-wrapper-offset); transform: translateY(50%); } .el-slider__stop { transform: translateY(50%); } &.el-slider--with-input { padding-bottom: calc(var(--input-large-height) + 22px); .el-slider__input { overflow: visible; float: none; position: absolute; bottom: 22px; width: 36px; margin-top: 15px; .el-input__inner { text-align: center; padding-left: 5px; padding-right: 5px; } .el-input-number__decrease, .el-input-number__increase { top: var(--input-small-height); margin-top: -1px; border: var(--input-border); line-height: 20px; box-sizing: border-box; transition: var(--border-transition-base); } .el-input-number__decrease { width: 18px; right: 18px; border-bottom-left-radius: var(--input-border-radius); } .el-input-number__increase { width: 19px; border-bottom-right-radius: var(--input-border-radius); & ~ .el-input .el-input__inner { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } } &:hover { .el-input-number__decrease, .el-input-number__increase { border-color: var(--input-hover-border); } } &:active { .el-input-number__decrease, .el-input-number__increase { border-color: var(--input-focus-border); } } } } } } }