@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
131 lines (119 loc) • 3.58 kB
CSS
: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))) ;
--nut-icon-width: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) ;
--nut-icon-line-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) ;
}
/* #ifdef harmony */
/* #endif */
/* #ifndef harmony */
/* #endif */
.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, calc(-30px * var(--nut-scale-f, 1)));
}
.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, calc(30px * var(--nut-scale-f, 1)));
}
.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);
}