UNPKG

@nutui/nutui-react-taro

Version:

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

222 lines (218 loc) 7.88 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-badge { position: relative; /* #ifdef dynamic*/ display: flex; /* #endif */ /* #ifndef dynamic*/ display: inline-flex; box-sizing: content-box; /* #endif */ vertical-align: middle; width: auto; } .nut-badge-icon { display: flex; justify-content: center; align-items: center; background: var(--nutui-badge-background-color, var(--nutui-color-primary, #ff0f23)); padding: var(--nutui-badge-icon-padding, calc(2px * var(--nut-scale-f, 1))); text-align: center; z-index: var(--nutui-badge-z-index, 1); } .nut-badge-icon .nut-icon { width: var(--nutui-badge-icon-size, var(--nutui-font-size-xxs, calc(10px * var(--nut-scale-font, var(--nut-scale-f, 1))))); height: var(--nutui-badge-icon-size, var(--nutui-font-size-xxs, calc(10px * var(--nut-scale-font, var(--nut-scale-f, 1))))); font-size: var(--nutui-badge-icon-size, var(--nutui-font-size-xxs, calc(10px * var(--nut-scale-font, var(--nut-scale-f, 1))))); } .nut-badge-sup, .nut-badge-icon { border-radius: var(--nutui-badge-border-radius, var(--nutui-badge-height, calc(14px * var(--nut-scale-f, 1)))); } .nut-badge-sup::after, .nut-badge-icon::after { content: ""; position: absolute; top: -50%; bottom: -50%; left: -50%; right: -50%; transform: scale(0.5); border: var(--nutui-badge-border, calc(1px * var(--nut-scale-f, 1)) solid var(--nutui-color-primary-text, #ffffff)); border-radius: var(--nutui-badge-border-radius, var(--nutui-badge-height, calc(14px * var(--nut-scale-f, 1)))); } .nut-badge-sup { /* #ifdef dynamic*/ display: flex; /* #endif */ /* #ifndef dynamic*/ display: inline-flex; /* #endif */ text-align: center; min-width: var(--nutui-badge-min-width, calc(6px * var(--nut-scale-f, 1))); padding: var(--nutui-badge-padding, calc(1px * var(--nut-scale-f, 1)) calc(4px * var(--nut-scale-f, 1))); box-sizing: border-box; color: var(--nutui-badge-color, var(--nutui-color-primary-text, #ffffff)); font-size: var(--nutui-badge-font-size, var(--nutui-font-size-xxxs, calc(9px * var(--nut-scale-font, var(--nut-scale-f, 1))))); line-height: 12px; white-space: nowrap; font-weight: normal; vertical-align: middle; background: var(--nutui-badge-background-color, var(--nutui-color-primary, #ff0f23)); z-index: 1; } .nut-badge-disabled { background: var(--nutui-badge-background-disabled-color, var(--nutui-color-text-disabled, #b4b8bf)); } .nut-badge-number { font-family: "JDZH-Regular"; } .nut-badge-one { height: var(--nutui-badge-height, calc(14px * var(--nut-scale-f, 1))); width: var(--nutui-badge-height, calc(14px * var(--nut-scale-f, 1))); } .nut-badge-content { position: absolute; transform: var(--nutui-badge-content-transform, translate(50%, -50%)); } .nut-badge-dot { padding: 0; border-radius: 50%; } .nut-badge-dot::after { border: var(--nutui-badge-dot-border, calc(1px * var(--nut-scale-f, 1)) solid var(--nutui-color-primary-text, #ffffff)); border-radius: 50%; } .nut-badge-dot-normal { min-width: var(--nutui-badge-dot-width, calc(6px * var(--nut-scale-f, 1))); width: var(--nutui-badge-dot-width, calc(6px * var(--nut-scale-f, 1))); height: var(--nutui-badge-dot-width, calc(6px * var(--nut-scale-f, 1))); } .nut-badge-dot-small { min-width: var(--nutui-badge-dot-small-width, calc(4px * var(--nut-scale-f, 1))); width: var(--nutui-badge-dot-small-width, calc(4px * var(--nut-scale-f, 1))); height: var(--nutui-badge-dot-small-width, calc(4px * var(--nut-scale-f, 1))); } .nut-badge-dot-large { min-width: var(--nutui-badge-dot-large-width, calc(8px * var(--nut-scale-f, 1))); width: var(--nutui-badge-dot-large-width, calc(8px * var(--nut-scale-f, 1))); height: var(--nutui-badge-dot-large-width, calc(8px * var(--nut-scale-f, 1))); } .nut-badge-outline { background: var(--nutui-color-primary-text, #ffffff); color: var(--nutui-badge-outline-color, var(--nutui-color-primary, #ff0f23)); } .nut-badge-outline::after { border: var(--nutui-badge-outline-border, calc(1px * var(--nut-scale-f, 1)) solid var(--nutui-color-primary, #ff0f23)); } .nut-tabbar-item { display: flex; flex-direction: column; align-items: center; flex: 1; padding: 6px 0 2px; color: var(--nutui-tabbar-inactive-color, var(--nutui-color-title, #1a1a1a)); height: 100%; } .nut-tabbar-item .nut-icon { width: 24px; height: 24px; font-size: var(--nutui-font-size-xxl, calc(24px * var(--nut-scale-font, var(--nut-scale-f, 1)))); /* #ifdef harmony dynamic*/ color: var(--nutui-tabbar-inactive-color, var(--nutui-color-title, #1a1a1a)); /* #endif*/ /* #ifndef harmony dynamic*/ color: inherit; /* #endif*/ } .nut-tabbar-item-text { display: block; color: var(--nutui-color-text, #505259); font-size: var(--nutui-tabbar-text-font-size, var(--nutui-font-size-xxs, calc(10px * var(--nut-scale-font, var(--nut-scale-f, 1))))); line-height: var(--nutui-tabbar-text-font-size, var(--nutui-font-size-xxs, calc(10px * var(--nut-scale-font, var(--nut-scale-f, 1))))); margin-top: var(--nutui-tabbar-text-margin-top, calc(4px * var(--nut-scale-f, 1))); } .nut-tabbar-item .nut-image-default { width: 38px; height: 38px; border-radius: 38px; } .nut-tabbar-item-large { justify-content: center; padding: 0; } .nut-tabbar-item-large .nut-tabbar-item-text { font-size: var(--nutui-tabbar-text-large-font-size, var(--nutui-font-size-l, calc(15px * var(--nut-scale-font, var(--nut-scale-f, 1))))); margin-top: 0; line-height: var(--nutui-tabbar-text-large-font-size, var(--nutui-font-size-l, calc(15px * var(--nut-scale-font, var(--nut-scale-f, 1))))); font-weight: var(--nutui-tabbar-text-large-font-weight, var(--nutui-font-weight, 400)); } .nut-tabbar-item-active { color: var(--nutui-tabbar-active-color, var(--nutui-color-primary, #ff0f23)); } .nut-tabbar-item-active .nut-tabbar-item-text, .nut-tabbar-item-active .nut-icon { /* #ifdef harmony dynamic*/ color: var(--nutui-tabbar-active-color, var(--nutui-color-primary, #ff0f23)); /* #endif*/ /* #ifndef harmony dynamic*/ color: inherit; /* #endif*/ } .nut-tabbar { border: 0; box-shadow: var(--nutui-tabbar-box-shadow, none); border-bottom: var(--nutui-tabbar-border-bottom, 0); border-top: var(--nutui-tabbar-border-top, 0); width: 100%; background: var(--nutui-color-background-overlay, #ffffff); } .nut-tabbar-wrap { height: var(--nutui-tabbar-height, calc(46px * var(--nut-scale-f, 1))); display: flex; } .nut-tabbar-wrap-3 { padding: 0 calc(16px * var(--nut-scale-f, 1)); } .nut-tabbar-wrap-2 { padding: 0 calc(32px * var(--nut-scale-f, 1)); } .nut-tabbar-wrap-horizontal { align-items: center; } .nut-tabbar-wrap-horizontal .nut-tabbar-item { flex-direction: row; justify-content: center; } .nut-tabbar-wrap-horizontal .nut-tabbar-item .nut-icon { width: calc(20px * var(--nut-scale-f, 1)); height: calc(20px * var(--nut-scale-f, 1)); } .nut-tabbar-wrap-horizontal .nut-tabbar-item .nut-tabbar-item-text { margin: 0 calc(4px * var(--nut-scale-f, 1)) 0 calc(6px * var(--nut-scale-f, 1)); font-size: var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))); } .nut-tabbar-wrap-horizontal .nut-tabbar-item .nut-badge-sup::after { border: 0; } .nut-tabbar-fixed { position: fixed; bottom: 0; left: 0; } [dir=rtl] .nut-tabbar:last-child, .nut-rtl .nut-tabbar:last-child { border-right: none; border-left: 0; } [dir=rtl] .nut-tabbar-fixed, .nut-rtl .nut-tabbar-fixed { left: auto; right: 0; }