shineout
Version:
Shein 前端组件库
480 lines (479 loc) • 15 kB
CSS
.so-cascader {
position: relative;
width: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.so-cascader:focus {
outline: none;
}
.so-cascader-result {
cursor: pointer;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
max-height: 105px;
-ms-flex-flow: wrap;
flex-flow: wrap;
overflow-y: auto;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
}
.so-cascader-result-ltr {
padding: 6px 24px 0 12px;
}
.so-cascader-result-rtl {
padding: 6px 12px 0 24px;
}
.so-cascader-result .so-input-placeholder {
color: var(--input-placeholder-color, #999);
}
.so-cascader-result > span,
.so-cascader-result .so-cascader-item {
display: inline-block;
overflow: hidden;
max-width: 80%;
padding: 0 var(--select-result-padding-horizontal, 4px);
margin-bottom: 6px;
border-radius: 3px;
color: inherit;
text-overflow: ellipsis;
position: relative;
}
.so-cascader-result > span-ltr,
.so-cascader-result .so-cascader-item-ltr {
margin-right: var(--select-result-padding-horizontal, 4px);
}
.so-cascader-result > span-rtl,
.so-cascader-result .so-cascader-item-rtl {
margin-left: var(--select-result-padding-horizontal, 4px);
}
.so-cascader-result > span-compressed,
.so-cascader-result .so-cascader-item-compressed {
padding: 0 8px;
font-size: 80%;
opacity: 0.9;
}
.so-cascader-result > span-compressed > span,
.so-cascader-result .so-cascader-item-compressed > span {
letter-spacing: 2px;
padding: 0;
margin: 0;
overflow: visible;
max-width: none;
}
.so-cascader-result > span:after,
.so-cascader-result .so-cascader-item:after {
content: '\feff ';
}
.so-cascader-result > span.so-cascader-remove-container-ltr,
.so-cascader-result .so-cascader-item.so-cascader-remove-container-ltr {
padding-right: 16px;
}
.so-cascader-result > span.so-cascader-remove-container-rtl,
.so-cascader-result .so-cascader-item.so-cascader-remove-container-rtl {
padding-left: 16px;
}
.so-cascader-result > span.so-cascader-remove-container:after,
.so-cascader-result .so-cascader-item.so-cascader-remove-container:after {
content: none;
}
.so-cascader-result > span .so-cascader-single-remove,
.so-cascader-result .so-cascader-item .so-cascader-single-remove {
-webkit-box-sizing: border-box;
box-sizing: border-box;
position: absolute;
top: 50%;
margin: 0;
padding: 0;
}
.so-cascader-result > span .so-cascader-single-remove-ltr,
.so-cascader-result .so-cascader-item .so-cascader-single-remove-ltr {
right: 8px;
-webkit-transform: translate(50%, -50%);
-ms-transform: translate(50%, -50%);
transform: translate(50%, -50%);
}
.so-cascader-result > span .so-cascader-single-remove-rtl,
.so-cascader-result .so-cascader-item .so-cascader-single-remove-rtl {
left: 8px;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.so-cascader-result > span .so-cascader-single-remove svg,
.so-cascader-result .so-cascader-item .so-cascader-single-remove svg {
width: 6px;
height: 6px;
-webkit-transform: translateY(-1px);
-ms-transform: translateY(-1px);
transform: translateY(-1px);
}
.so-cascader-result > span .so-cascader-single-remove svg path,
.so-cascader-result .so-cascader-item .so-cascader-single-remove svg path {
-webkit-transition: all 0.2s;
transition: all 0.2s;
fill: var(--gray-500, #adb5bd);
}
.so-cascader-result > span .so-cascader-single-remove:hover svg path,
.so-cascader-result .so-cascader-item .so-cascader-single-remove:hover svg path {
fill: var(--primary-color, #3399ff);
}
.so-cascader-result .so-cascader-item {
background: var(--gray-100, #f8f9fa);
font-size: var(--font-size-base, 14px);
color: var(--gray-700, #495057);
}
.so-cascader-result .so-cascader-item-disabled {
cursor: not-allowed;
color: var(--input-disabled-color, #999DA8);
}
.so-cascader-result .so-cascader-input {
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
min-width: 12px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
margin-bottom: 6px;
outline: none;
cursor: text;
white-space: pre;
}
.so-cascader-result .so-cascader-input:after {
content: '\feff ';
}
.so-cascader-result .so-cascader-input.so-cascader-full {
display: block;
}
.so-cascader-disabled .so-cascader-result {
cursor: not-allowed;
}
.so-cascader-disabled .so-cascader-result .so-cascader-item {
cursor: not-allowed;
background-color: inherit;
color: inherit;
}
.so-cascader-disabled .so-cascader-result .so-select-multi {
visibility: visible;
cursor: not-allowed;
}
.so-cascader:not(.so-cascader-disabled).so-cascader-focus .so-cascader-close,
.so-cascader:not(.so-cascader-disabled) .so-cascader-result:hover .so-cascader-close,
.so-cascader:not(.so-cascader-disabled) .so-cascader-title-box:hover .so-cascader-close {
display: block;
}
.so-cascader:not(.so-cascader-disabled).so-cascader-focus .so-cascader-result-clearable .so-select-multi,
.so-cascader:not(.so-cascader-disabled) .so-cascader-result-clearable:hover .so-select-multi,
.so-cascader:not(.so-cascader-disabled) .so-cascader-title-box:hover .so-cascader-result-clearable .so-select-multi {
visibility: hidden;
}
.so-cascader-multiple .so-cascader-close-ltr {
right: 19px;
}
.so-cascader-multiple .so-cascader-close-rtl {
left: 19px;
}
div.so-cascader-options {
width: auto;
white-space: nowrap;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
font-size: var(--font-size-base, 14px);
}
.so-cascader-focus .so-cascader-options {
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
}
.so-cascader-compressed.so-cascader-result {
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
width: 0;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
}
.so-cascader-compressed.so-cascader-result-ltr {
padding: 6px 34px 0 12px;
}
.so-cascader-compressed.so-cascader-result-rtl {
padding: 6px 12px 0 34px;
}
.so-cascader-compressed.so-cascader-result .so-cascader-item {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
-ms-flex-negative: 0;
flex-shrink: 0;
}
.so-cascader-compressed.so-cascader-result .so-cascader-item-only {
-ms-flex-negative: 1;
flex-shrink: 1;
}
.so-cascader-compressed.so-cascader-result .so-cascader-input {
white-space: nowrap;
}
.so-cascader-compressed.so-cascader-result .so-cascader-close-ltr {
right: 9px;
}
.so-cascader-compressed.so-cascader-result .so-cascader-close-rtl {
left: 9px;
}
.so-cascader-no-data {
width: 100%;
position: relative;
display: block;
overflow: hidden;
padding: 6px 24px 6px 12px;
color: var(--gray-500, #adb5bd);
font-size: var(--font-size-base, 14px);
line-height: var(--common-line-height, 1.42857143);
text-overflow: ellipsis;
-webkit-transition: none;
transition: none;
white-space: nowrap;
}
.so-input-rtl .so-cascader-no-data,
.so-list-rtl .so-cascader-no-data {
padding: 6px 12px 6px 24px;
}
.so-cascader-no-data:hover {
color: var(--select-item-active-color, #292d32);
}
.so-cascader-list-loading {
padding: 6px 12px;
}
.so-cascader-list {
display: inline-block;
min-width: 120px;
height: 100%;
overflow-y: auto;
vertical-align: top;
}
.so-cascader-list-ltr {
border-right: solid 1px var(--gray-200, #e9ecef);
}
.so-cascader-list-rtl {
border-left: solid 1px var(--gray-200, #e9ecef);
}
.so-cascader-node {
position: relative;
padding: 6px 28px 6px 12px;
color: var(--gray-800, #343a40);
white-space: nowrap;
}
.so-input-rtl .so-cascader-node,
.so-list-rtl .so-cascader-node {
padding: 6px 12px 6px 28px;
}
.so-cascader-node:hover {
background-color: #f5f5f5;
}
.so-cascader-node.so-cascader-disabled {
color: var(--gray-400, #ced4da);
cursor: not-allowed;
}
.so-cascader-node.so-cascader-disabled:hover {
background-color: transparent;
}
.so-cascader-loading {
position: absolute;
top: 10px;
right: 12px;
}
.so-input-rtl .so-cascader-loading,
.so-list-rtl .so-cascader-loading {
right: auto;
left: 12px;
}
.so-cascader-has-children .so-cascader-caret,
.so-cascader-may-be-children .so-cascader-caret {
display: inline-block;
width: 10px;
height: 10px;
position: absolute;
top: 50%;
}
.so-cascader-has-children .so-cascader-caret-ltr,
.so-cascader-may-be-children .so-cascader-caret-ltr {
right: 12px;
-webkit-transform: translateY(-50%) rotate(-90deg);
-ms-transform: translateY(-50%) rotate(-90deg);
transform: translateY(-50%) rotate(-90deg);
}
.so-cascader-has-children .so-cascader-caret-rtl,
.so-cascader-may-be-children .so-cascader-caret-rtl {
left: 12px;
-webkit-transform: translateY(-50%) rotate(90deg);
-ms-transform: translateY(-50%) rotate(90deg);
transform: translateY(-50%) rotate(90deg);
}
.so-cascader-may-be-children .so-cascader-caret {
fill: var(--gray-300, #dee2e6);
}
.so-cascader-active {
background-color: var(--cascader-active-background-color, var(--select-item-active-bg, #f5f5f5));
color: var(--cascader-active-color, var(--select-item-active-color, #292d32));
text-decoration: none;
}
.so-cascader-active.so-cascader-node {
background-color: var(--cascader-active-background-color, var(--select-item-active-bg, #f5f5f5));
color: var(--cascader-active-color, var(--select-item-active-color, #292d32));
}
div.so-cascader-filter {
display: block;
min-width: 100%;
width: auto;
}
div.so-cascader-filter-list {
overflow: auto;
}
div.so-cascader-filter-list-separator {
margin: 0 4px;
}
div.so-cascader-filter-list-content {
display: inline-block;
-webkit-transition: all 0.2s;
transition: all 0.2s;
}
div.so-cascader-filter-list-content.so-cascader-disabled {
color: var(--gray-400, #ced4da);
cursor: not-allowed;
}
div.so-cascader-filter-list .so-cascader-node {
cursor: pointer;
}
div.so-cascader-filter:not(.so-cascader-leaf-only) .so-cascader-filter-list-content:not(.so-cascader-disabled):hover {
color: var(--primary-color, #3399ff);
}
.so-cascader-popover .so-cascader-result {
max-height: 112px;
max-width: 300px;
padding: 14px 14px 8px 14px;
}
.so-cascader-popover .so-cascader-result .so-cascader-item {
max-width: none;
}
.so-cascader-rtl {
direction: rtl;
text-align: start;
}
.so-input.so-input-small .so-cascader-result {
padding-top: 2px;
}
.so-input.so-input-small .so-cascader-result .so-input-placeholder,
.so-input.so-input-small .so-cascader-result .so-cascader-item,
.so-input.so-input-small .so-cascader-result .so-cascader-input {
margin-bottom: 2px;
font-size: var(--font-size-small, 12px);
}
.so-input.so-input-large .so-cascader-result {
padding-top: 8px;
}
.so-input.so-input-large .so-cascader-result .so-input-placeholder,
.so-input.so-input-large .so-cascader-result .so-cascader-item,
.so-input.so-input-large .so-cascader-result .so-cascader-input {
margin-bottom: 8px;
font-size: var(--font-size-large, 18px);
}
.so-cascader-result.so-cascader-large .so-cascader-item {
font-size: var(--font-size-large, 18px);
}
.so-cascader-result.so-cascader-small .so-cascader-item {
font-size: var(--font-size-small, 12px);
}
.so-cascader-title-box .so-cascader-title-box-title-ltr,
.so-input-title-box.so-cascader-title-box .so-cascader-result-ltr {
padding-left: 8px;
padding-right: 20px;
}
.so-cascader-small .so-cascader-title-box .so-cascader-title-box-title-ltr,
.so-cascader-small .so-input-title-box.so-cascader-title-box .so-cascader-result-ltr {
padding-left: 8px;
padding-right: 20px;
}
.so-cascader-large .so-cascader-title-box .so-cascader-title-box-title-ltr,
.so-cascader-large .so-input-title-box.so-cascader-title-box .so-cascader-result-ltr {
padding-left: 8px;
padding-right: 20px;
}
.so-cascader-title-box .so-cascader-title-box-title-rtl,
.so-input-title-box.so-cascader-title-box .so-cascader-result-rtl {
padding-left: 20px;
padding-right: 8px;
}
.so-cascader-small .so-cascader-title-box .so-cascader-title-box-title-rtl,
.so-cascader-small .so-input-title-box.so-cascader-title-box .so-cascader-result-rtl {
padding-left: 20px;
padding-right: 8px;
}
.so-cascader-large .so-cascader-title-box .so-cascader-title-box-title-rtl,
.so-cascader-large .so-input-title-box.so-cascader-title-box .so-cascader-result-rtl {
padding-left: 20px;
padding-right: 8px;
}
.so-cascader-title-box .so-cascader-title-box-title-compressed.so-cascader-title-box-title-ltr,
.so-cascader-title-box .so-cascader-compressed.so-cascader-result-ltr {
padding-left: 8px;
padding-right: 30px;
}
.so-cascader-small .so-cascader-title-box .so-cascader-title-box-title-compressed.so-cascader-title-box-title-ltr,
.so-cascader-small .so-cascader-title-box .so-cascader-compressed.so-cascader-result-ltr {
padding-left: 8px;
padding-right: 30px;
}
.so-cascader-large .so-cascader-title-box .so-cascader-title-box-title-compressed.so-cascader-title-box-title-ltr,
.so-cascader-large .so-cascader-title-box .so-cascader-compressed.so-cascader-result-ltr {
padding-left: 8px;
padding-right: 30px;
}
.so-cascader-title-box .so-cascader-title-box-title-compressed.so-cascader-title-box-title-rtl,
.so-cascader-title-box .so-cascader-compressed.so-cascader-result-rtl {
padding-left: 30px;
padding-right: 8px;
}
.so-cascader-small .so-cascader-title-box .so-cascader-title-box-title-compressed.so-cascader-title-box-title-rtl,
.so-cascader-small .so-cascader-title-box .so-cascader-compressed.so-cascader-result-rtl {
padding-left: 30px;
padding-right: 8px;
}
.so-cascader-large .so-cascader-title-box .so-cascader-title-box-title-compressed.so-cascader-title-box-title-rtl,
.so-cascader-large .so-cascader-title-box .so-cascader-compressed.so-cascader-result-rtl {
padding-left: 30px;
padding-right: 8px;
}
.so-cascader-title-box > .so-input-title-box-content {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.so-cascader-title-box .so-cascader-result .so-input-placeholder,
.so-cascader-title-box .so-cascader-result .so-cascader-item,
.so-cascader-title-box .so-cascader-result .so-cascader-input {
margin-bottom: 4px;
}
.so-cascader-small .so-cascader-title-box .so-cascader-result .so-input-placeholder,
.so-cascader-small .so-cascader-title-box .so-cascader-result .so-cascader-item,
.so-cascader-small .so-cascader-title-box .so-cascader-result .so-cascader-input {
margin-bottom: 2px;
}
.so-cascader-large .so-cascader-title-box .so-cascader-result .so-input-placeholder,
.so-cascader-large .so-cascader-title-box .so-cascader-result .so-cascader-item,
.so-cascader-large .so-cascader-title-box .so-cascader-result .so-cascader-input {
margin-bottom: 4px;
}