UNPKG

@nutui/nutui-react-taro

Version:

京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序

236 lines (217 loc) 6.16 kB
:root, page { --nut-scale-f: 1; --nut-scale-font: var(--nut-scale-f, 1); --nut-scale-icon: var(--nut-scale-f, 1); --nut-icon-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important; --nut-icon-width: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important; --nut-icon-line-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important; } .nut-overlay { position: fixed; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; background-color: var(--nutui-overlay-bg-color, var(--nutui-color-mask, rgba(0, 0, 0, 0.7))); } .nut-overflow-hidden { overflow: hidden !important; } @keyframes nut-fade-in { 0% { opacity: 0; } 1% { opacity: 0; } 100% { opacity: 1; } } @keyframes nut-fade-out { 0% { opacity: 1; } 1% { opacity: 1; } 100% { opacity: 0; } } .nut-overlay-slide-enter-active, .nut-overlay-slide-appear-active { animation-fill-mode: both; animation-name: nut-fade-in; animation-duration: var(--nutui-overlay-animation-duration, 0.3s); } .nut-overlay-slide-exit-active { animation-fill-mode: both; animation-name: nut-fade-out; animation-duration: var(--nutui-overlay-animation-duration, 0.3s); } [dir=rtl] .nut-overlay, .nut-rtl .nut-overlay { left: auto; right: 0; } .nut-menu-container-content { padding: var(--nutui-menu-content-padding, calc(12px * var(--nut-scale-f, 1)) calc(24px * var(--nut-scale-f, 1))); max-height: var(--nutui-menu-content-max-height, calc(214px * var(--nut-scale-f, 1))); overflow-y: auto; display: flex; flex-wrap: wrap; background: var(--nutui-menu-content-background-color, var(--nutui-color-background-overlay, #ffffff)); } .nut-menu-container-content_fixed { width: 100%; opacity: 0; position: fixed; } .nut-menu-container-item { display: flex; align-items: center; color: var(--nutui-color-title, #1a1a1a); font-size: var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))); padding: var(--nutui-menu-item-padding, calc(12px * var(--nut-scale-f, 1)) 0); } .nut-menu-container-item.active { font-weight: var(--nutui-menu-item-active-font-weight, var(--nutui-font-weight-bold, 600)); color: var(--nutui-menu-item-active-color, var(--nutui-color-primary, #ff0f23)); } .nut-menu-container-item-icon { display: flex; align-items: center; } .nut-menu-container-item .nut-icon { /* #ifdef dynamic*/ display: flex; /* #endif */ /* #ifndef dynamic*/ display: inline-flex; /* #endif */ align-items: center; margin-right: var(--nutui-menu-item-icon-margin, calc(8px * var(--nut-scale-f, 1))); flex-shrink: 0; } .nut-menu-container-wrap, .nut-menu-container-wrap-up { position: absolute; width: 100%; z-index: var(--nutui-menu-container-z-index, 1000); overflow: hidden; } .nut-menu-container-wrap-up { bottom: var(--nutui-menu-bar-line-height, calc(48px * var(--nut-scale-f, 1))); } .overlay-fade-enter-active.nut-menu-container-overlay { top: auto; z-index: var(--nutui-menu-container-z-index, 1000); } .nut-menu-placeholder-element { position: fixed; top: calc(-1 * var(--menu-bar-line-height)); left: 0; right: 0; z-index: var(--nutui-menu-bar-opened-z-index, 1000); background-color: transparent; } .nut-menu-placeholder-element.up { bottom: calc(-1 * var(--menu-bar-line-height)); } .nut-menu-container-down-enter { opacity: 0; transform: translate(0, -30px); } .nut-menu-container-down-enter-done { opacity: 1; transform: translate(0, 0); transition: all 100ms; } .nut-menu-container-down-exit { opacity: 1; transition: all 100ms; } .nut-menu-container-down-exit-done { opacity: 0; transition: all 100ms; } .nut-menu-container-up-enter { opacity: 0; transform: translate(0, 30px); } .nut-menu-container-up-enter-done { opacity: 1; transform: translate(0, 0); transition: all 100ms; } .nut-menu-container-up-exit { opacity: 1; transition: all 100ms; } .nut-menu-container-up-exit-done { opacity: 0; transition: all 100ms; } [dir=rtl] .nut-menu-container-item .nut-icon, .nut-rtl .nut-menu-container-item .nut-icon { margin-right: 0; margin-left: var(--nutui-menu-item-icon-margin, calc(8px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-menu-container .nut-icon, .nut-rtl .nut-menu-container .nut-icon { transform: rotateY(180deg); } .nut-menu { position: relative; } .nut-menu.scroll-fixed { position: fixed; top: var(--nutui-menu-scroll-fixed-top, 0); z-index: var(--nutui-menu-scroll-fixed-z-index, 1000); width: 100%; } .nut-menu-bar { position: relative; display: flex; line-height: var(--nutui-menu-bar-line-height, calc(48px * var(--nut-scale-f, 1))); background-color: var(--nutui-color-background-overlay, #ffffff); box-shadow: var(--nutui-menu-bar-box-shadow, 0 calc(2px * var(--nut-scale-f, 1)) calc(12px * var(--nut-scale-f, 1)) rgba(89, 89, 89, 0.12)); } .nut-menu-bar.opened { z-index: var(--nutui-menu-bar-opened-z-index, 1000); } .nut-menu-title { flex: 1; text-align: center; font-size: var(--nutui-menu-title-font-size, var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1))))); color: var(--nutui-menu-title-color, var(--nutui-color-title, #1a1a1a)); min-width: 0; display: flex; align-items: center; justify-content: center; max-width: 100%; } .nut-menu-title-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; padding: var(--nutui-menu-title-padding, 0 calc(8px * var(--nut-scale-f, 1))); } .nut-menu-title-icon { width: var(--nutui-icon-size-12, calc(12px * var(--nut-scale-icon, var(--nut-scale-f, 1)))); height: var(--nutui-icon-size-12, calc(12px * var(--nut-scale-icon, var(--nut-scale-f, 1)))); flex-shrink: 0; transition: all 0.2s linear; } .nut-menu-title.active { color: var(--nutui-menu-item-active-color, var(--nutui-color-primary, #ff0f23)); } .nut-menu-title.disabled { color: var(--nutui-menu-item-disabled-color, var(--nutui-color-text-disabled, #b4b8bf)); } .nut-menu-title.active .nut-menu-title-icon { transform: rotate(180deg); }