.#{$ns}Select { display: inline-flex; vertical-align: middle; text-align: left; outline: none; position: relative; border: $Form-select-borderWidth solid $Form-select-borderColor; background: $Form-select-bg; border-radius: $Form-select-borderRadius; height: $Form-selectOption-height; $paddingY: ( $Form-selectOption-height - $Form-input-lineHeight * $Form-input-fontSize - $Form-select-borderWidth * 2 )/2; padding: $paddingY 0 $paddingY $Form-select-paddingX; cursor: pointer; color: $Form-select-color; &:not(.is-disabled):hover { background: $Form-select-onHover-bg; border-color: $Form-select-onHover-borderColor; .#{$ns}Select-arrow:before { color: $Form-select-caret-onHover-iconColor; } } &.is-disabled { color: $text--muted-color; background: $Form-input-onDisabled-bg; border-color: $Form-input-onDisabled-borderColor; } &-valueWrap { user-select: none; position: relative; flex-grow: 1; line-height: 1; max-width: 100%; overflow: hidden; } &-placeholder { color: $Form-select-placeholderColor; line-height: $Form-input-lineHeight; } &-input { cursor: pointer; display: inline-block; position: relative; z-index: 2; outline: none; border: none; background: transparent; line-height: $Form-input-lineHeight; height: $Form-input-lineHeight * $Form-input-fontSize; } &-value { line-height: $Form-input-lineHeight * $Form-input-fontSize; white-space: nowrap; } &--searchable { .#{$ns}Select-placeholder, .#{$ns}Select-value { position: absolute; top: 0; left: 0; } } &--multi { height: auto; min-height: $Form-selectOption-height; .#{$ns}Select-valueWrap { margin-bottom: -$gap-xs; > input { display: inline-block; width: px2rem(100px); margin-bottom: $gap-xs; } } .#{$ns}Select-values + .#{$ns}Select-input { transform: translateY(0); } .#{$ns}Select-value { position: static; user-select: none; line-height: $Form-input-lineHeight * $Form-input-fontSize - px2rem(2px); display: inline-block; vertical-align: middle; font-size: $Form-selectValue-fontSize; color: $Form-selectValue-color; background: $Form-selectValue-bg; border: px2rem(1px) solid $Form-selectValue-borderColor; border-radius: px2rem(2px); margin-right: $gap-xs; margin-bottom: $gap-xs; } .#{$ns}Select-valueLabel { padding: 0 $gap-xs; } } &-valueIcon { cursor: pointer; border-right: px2rem(1px) solid $Form-selectValue-borderColor; padding: 1px 5px; &:hover { background-color: darken($Form-selectValue-bg, 5%); } } &-arrow { margin-right: $gap-xs; margin-left: $gap-xs; width: px2rem(20px); text-align: center; display: flex; align-items: center; justify-content: center; line-height: 1; &:before { transition: transform 0.3s; content: $Form-select-caret-icon; font-family: $Form-select-caret-vender; font-size: $Form-select-caret-fontSize; display: inline-block; color: $Form-select-caret-iconColor; } } &.is-opened &-arrow:before { transform: rotate(180deg); } &-menuOuter { position: absolute; background: $Form-select-menu-bg; color: $Form-select-menu-color; border: $Form-select-outer-borderWidth solid $Form-input-onFocused-borderColor; left: px2rem(-1px); right: px2rem(-1px); min-width: 100%; top: $Form-select-outer-top; z-index: 10; box-shadow: $Form-select-outer-boxShadow; } &-menu { max-height: px2rem(300px); overflow: auto; user-select: none; } &-checkAll { padding: ( $Form-select-menu-height - $Form-input-lineHeight * $Form-input-fontSize - px2rem(2px) )/2 $Form-select-paddingX; border-bottom: px2rem(1px) solid $Form-select-checkall-bottomBorder; min-width: px2rem(100px); label { display: block; } } &-option { padding: ( $Form-select-menu-height - $Form-input-lineHeight * $Form-input-fontSize - px2rem(2px) )/2 $Form-select-paddingX; &.is-active { color: $Form-select-menu-onActive-color; background-color: $Form-select-menu-onActive-bg; } &.is-highlight { color: $Form-select-menu-onHover-color; background-color: $Form-select-menu-onHover-bg; } &.is-disabled { color: $Form-select-menu-onDisabled-color; background-color: $Form-select-menu-onDisabled-bg; } &--placeholder { color: $Form-input-placeholderColor; } } &-option-hl { color: $red; } &.is-focused, &.is-opened { border-color: $Form-input-onFocused-borderColor; @if ($Form-select-onFocused-color !=$Form-select-color) { color: $Form-select-onFocused-color; } } &-spinner { line-height: $Form-input-lineHeight * $Form-input-fontSize; } &-clear { padding: px2rem(3px); cursor: pointer; display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; svg { fill: $Form-input-iconColor; width: px2rem(10px); height: px2rem(10px); } &:hover svg { fill: darken($color: $Form-input-iconColor, $amount: 20%); } } } .#{$ns}Select-popover { margin-top: -$Form-select-borderWidth; background: $Form-select-menu-bg; color: $Form-select-menu-color; border: $Form-select-outer-borderWidth solid $Form-input-onFocused-borderColor; box-shadow: $Form-select-outer-boxShadow; border-top-left-radius: 0; border-top-right-radius: 0; min-width: px2rem(100px); } .#{$ns}SelectControl:not(.is-inline) > .#{$ns}Select { display: flex; } // 需要能撑开 @include media-breakpoint-up(sm) { .#{$ns}Form-control--sizeXs > .#{$ns}Select, .#{$ns}Form-control--sizeSm > .#{$ns}Select, .#{$ns}Form-control--sizeMd > .#{$ns}Select, .#{$ns}Form-control--sizeLg > .#{$ns}Select { min-width: 100%; display: inline-flex !important; } }