@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
330 lines (323 loc) • 8.05 kB
CSS
/* #ifdef harmony */
/* #endif */
/* #ifndef harmony */
/* #endif */
.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)));
z-index: var(--nutui-overlay-zIndex, 1000);
}
.nut-overflow-hidden {
overflow: hidden ;
}
@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-badge {
position: relative;
display: inline-flex;
vertical-align: middle;
box-sizing: content-box;
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, 2px);
text-align: center;
z-index: var(--nutui-badge-z-index, 1);
}
.nut-badge-icon .nut-icon {
width: var(--nutui-badge-icon-size, 10px);
height: var(--nutui-badge-icon-size, 10px);
font-size: var(--nutui-badge-icon-size, 10px);
}
.nut-badge-sup, .nut-badge-icon {
border-radius: var(--nutui-badge-border-radius, var(--nutui-badge-height, 14px));
}
.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, 1px solid #ffffff);
border-radius: var(--nutui-badge-border-radius, var(--nutui-badge-height, 14px));
}
.nut-badge-sup {
display: inline-flex;
text-align: center;
min-width: var(--nutui-badge-min-width, 6px);
padding: var(--nutui-badge-padding, 1px 4px);
box-sizing: border-box;
color: var(--nutui-badge-color, #ffffff);
font-size: var(--nutui-badge-font-size, var(--nutui-font-size-xxxs, 9px));
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, #c2c4cc));
}
.nut-badge-number {
font-family: "JD";
}
.nut-badge-one {
height: var(--nutui-badge-height, 14px);
width: var(--nutui-badge-height, 14px);
}
.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, 1px solid #ffffff);
border-radius: 50%;
}
.nut-badge-dot-normal {
min-width: var(--nutui-badge-dot-width, 6px);
width: var(--nutui-badge-dot-width, 6px);
height: var(--nutui-badge-dot-width, 6px);
}
.nut-badge-dot-small {
min-width: var(--nutui-badge-dot-small-width, 4px);
width: var(--nutui-badge-dot-small-width, 4px);
height: var(--nutui-badge-dot-small-width, 4px);
}
.nut-badge-dot-large {
min-width: var(--nutui-badge-dot-large-width, 8px);
width: var(--nutui-badge-dot-large-width, 8px);
height: var(--nutui-badge-dot-large-width, 8px);
}
.nut-badge-outline {
background: #ffffff;
color: var(--nutui-badge-outline-color, var(--nutui-color-primary, #ff0f23));
}
.nut-badge-outline::after {
border: var(--nutui-badge-outline-border, 1px solid var(--nutui-color-primary, #ff0f23));
}
.nut-fixednav {
position: fixed;
z-index: var(--nutui-fixednav-index, 900);
display: inline-block;
height: 50px;
}
.nut-fixednav.active .nut-fixednav-btn .nut-icon {
transform: rotate(180deg);
}
.nut-fixednav.active .nut-fixednav-list {
transform: translateX(0%) ;
}
.nut-fixednav.active.nut-fixednav-left .nut-icon {
transform: rotate(0deg);
}
.nut-fixednav-btn {
box-sizing: border-box;
position: absolute;
z-index: var(--nutui-fixednav-index, 900);
width: 70px;
height: 100%;
background: var(--nutui-fixednav-button-background, var(--nutui-color-primary, #ff0f23));
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2);
display: flex;
align-items: center;
justify-content: center;
}
.nut-fixednav-btn .text {
width: 24px;
line-height: 13px;
font-size: var(--nutui-font-size-s, 12px);
color: #fff;
flex-shrink: 0;
}
.nut-fixednav-btn .nut-icon {
transition: all 0.3s;
}
.nut-fixednav-list {
position: absolute;
transition: all 0.5s;
z-index: var(--nutui-fixednav-index, 900);
flex-shrink: 0;
height: 100%;
background: var(--nutui-fixednav-background-color, #ffffff);
display: flex;
justify-content: space-between;
box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.2);
}
.nut-fixednav-list-item {
position: relative;
flex: 1;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
min-width: 50px;
flex-shrink: 0;
color: var(--nutui-fixednav-color, #1a1a1a);
}
.nut-fixednav-list-item .nut-fixednav-list-text {
font-size: 10px;
}
.nut-fixednav-list-image {
width: 20px;
height: 20px;
margin-bottom: 2px;
}
.nut-fixednav-right {
right: 0;
}
.nut-fixednav-right .nut-fixednav-btn {
right: 0;
border-radius: 45px 0px 0px 45px;
}
.nut-fixednav-right .nut-fixednav-btn .nut-icon {
margin-right: 5px;
transform: rotate(0deg);
}
.nut-fixednav-right .nut-fixednav-list {
right: 0;
transform: translateX(100%);
border-radius: 25px 0px 0px 25px;
padding-left: 20px;
padding-right: 80px;
}
.nut-fixednav-left {
left: 0;
}
.nut-fixednav-left .nut-fixednav-btn {
flex-direction: row-reverse;
left: 0;
border-radius: 0 45px 45px 0;
}
.nut-fixednav-left .nut-fixednav-btn .nut-icon {
margin-left: 5px;
transform: rotate(180deg);
}
.nut-fixednav-left .nut-fixednav-list {
transform: translateX(-100%);
left: 0;
border-radius: 0px 25px 25px 0px;
padding-left: 80px;
padding-right: 20px;
}
[dir=rtl] .nut-fixednav-right,
.nut-rtl .nut-fixednav-right {
right: auto;
left: 0;
}
[dir=rtl] .nut-fixednav.active .nut-icon,
.nut-rtl .nut-fixednav.active .nut-icon {
transform: rotate(0deg);
}
[dir=rtl] .nut-fixednav.active.nut-fixednav-left .nut-icon,
.nut-rtl .nut-fixednav.active.nut-fixednav-left .nut-icon {
transform: rotate(-180deg);
}
[dir=rtl] .nut-fixednav-btn,
.nut-rtl .nut-fixednav-btn {
right: auto;
left: 0;
border-radius: 0px 45px 45px 0px;
}
[dir=rtl] .nut-fixednav-btn .nut-icon,
.nut-rtl .nut-fixednav-btn .nut-icon {
margin-right: 0px;
margin-left: 5px;
transform: rotate(180deg);
}
[dir=rtl] .nut-fixednav-list,
.nut-rtl .nut-fixednav-list {
right: auto;
left: 0;
transform: translateX(-100%);
border-radius: 0px 25px 25px 0px;
box-shadow: -2px 2px 8px 0px rgba(0, 0, 0, 0.2);
padding-right: 20px;
padding-left: 80px;
}
[dir=rtl] .nut-fixednav-list-item .b,
.nut-rtl .nut-fixednav-list-item .b {
right: auto;
left: 0;
}
[dir=rtl] .nut-fixednav-left,
.nut-rtl .nut-fixednav-left {
left: auto;
right: 0;
}
[dir=rtl] .nut-fixednav-left .nut-fixednav-btn,
.nut-rtl .nut-fixednav-left .nut-fixednav-btn {
left: auto;
right: 0;
border-radius: 45px 0 0 45px;
}
[dir=rtl] .nut-fixednav-left .nut-fixednav-btn .nut-icon,
.nut-rtl .nut-fixednav-left .nut-fixednav-btn .nut-icon {
transform: rotate(0deg);
margin-right: 5px;
margin-left: 0px;
}
[dir=rtl] .nut-fixednav-left .nut-fixednav-list,
.nut-rtl .nut-fixednav-left .nut-fixednav-list {
transform: translateX(100%);
right: auto;
left: auto;
border-radius: 25px 0px 0px 25px;
padding-right: 80px;
padding-left: 20px;
}
.nut-drag .nut-fixednav {
position: relative;
}