UNPKG

zarm

Version:

基于 React 的移动端UI库

188 lines (178 loc) 5.02 kB
.za-collapse { --border-color: var(--za-collapse-border-color, var(--za-border-color)); --arrow-color: var(--za-collapse-arrow-color, var(--za-arrow-color)); --arrow-size: var(--za-collapse-arrow-size, var(--za-arrow-size)); --arrow-width: var(--za-collapse-arrow-width, var(--za-arrow-width)); --arrow-disabled-color: var(--za-collapse-arrow-disabled-color, #eee); --header-height: var(--za-collapse-header-height, 44px); --header-padding-horizontal: var(--za-collapse-header-padding-horizontal, 16px); --header-padding-vertical: var(--za-collapse-header-padding-vertical, 15px); --header-disable-color: var(--za-collapse-header-disable-color, var(--za-color-text-disabled)); --content-color: var(--za-collapse-content-color, var(--za-color-text-caption)); --content-padding-vertical: var(--za-collapse-content-padding-vertical, var(--za-padding-v-sm)); --content-padding-horizontal: var(--za-collapse-content-padding-horizontal, var(--za-padding-h-sm)); position: relative; } .za-collapse:after { content: ""; pointer-events: none; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: 0; border: 0 solid var(--border-color); /* prettier-ignore */ border-top-width: 1PX; /* prettier-ignore */ border-bottom-width: 1PX; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) { .za-collapse:after { width: 200%; height: 200%; transform: scale(0.5); transform-origin: 0 0; border-radius: 0; } } @media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 3dppx) { .za-collapse:after { width: 300%; height: 300%; transform: scale(0.3333); transform-origin: 0 0; border-radius: 0; } } .za-collapse--animated .za-collapse-item__content { transition: all 0.3s ease; } .za-collapse-item:not(.za-collapse-item--disabled) .za-collapse-item__header:active { background-color: var(--za-background-active); } .za-collapse-item__header { position: relative; overflow: hidden; display: flex; align-items: center; min-height: var(--header-height); padding: 0 var(--header-padding-horizontal); transition-duration: 0.1s; transition-property: background-color, color; } .za-collapse-item__header:after { content: ""; pointer-events: none; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: 0; border: 0 solid var(--border-color); /* prettier-ignore */ border-top-width: 1PX; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) { .za-collapse-item__header:after { width: 200%; height: 200%; transform: scale(0.5); transform-origin: 0 0; border-radius: 0; } } @media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 3dppx) { .za-collapse-item__header:after { width: 300%; height: 300%; transform: scale(0.3333); transform-origin: 0 0; border-radius: 0; } } .za-collapse-item__header:after { left: var(--header-padding-horizontal); } .za-collapse-item__title { flex: 1; font-size: 17px; } .za-collapse-item__content { position: relative; height: 0; overflow: hidden; font-size: 13px; color: var(--content-color); will-change: height; } .za-collapse-item__content:after { content: ""; pointer-events: none; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: 0; border: 0 solid var(--border-color); /* prettier-ignore */ border-top-width: 1PX; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) { .za-collapse-item__content:after { width: 200%; height: 200%; transform: scale(0.5); transform-origin: 0 0; border-radius: 0; } } @media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 3dppx) { .za-collapse-item__content:after { width: 300%; height: 300%; transform: scale(0.3333); transform-origin: 0 0; border-radius: 0; } } .za-collapse-item__content:after { left: var(--header-padding-horizontal); } .za-collapse-item__content__inner { padding: var(--content-padding-vertical) var(--content-padding-horizontal); } .za-collapse-item__arrow { margin-top: -3px; margin-left: 5px; margin-right: 2px; } .za-collapse-item__arrow:after { display: inline-block; content: ""; border-right: var(--arrow-width) solid var(--arrow-color); border-top: var(--arrow-width) solid var(--arrow-color); width: var(--arrow-size); height: var(--arrow-size); transform: rotate(135deg); transition: all 0.3s ease; } .za-collapse-item--disabled .za-collapse-item__title { color: var(--header-disable-color); } .za-collapse-item--disabled .za-collapse-item__arrow:after { border-right-color: var(--arrow-disabled-color); border-top-color: var(--arrow-disabled-color); } .za-collapse-item--active .za-collapse-item__content { height: auto; } .za-collapse-item--active .za-collapse-item__arrow { margin-top: 0; } .za-collapse-item--active .za-collapse-item__arrow:after { transform: rotate(-45deg); }