@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
230 lines (227 loc) • 9.06 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-calendar {
position: relative;
display: flex;
flex-direction: column;
flex: 1;
font-size: var(--nutui-calendar-base-font-size, var(--nutui-font-size-l, calc(15px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
background-color: var(--nutui-color-background-overlay, #ffffff);
color: var(--nutui-color-title, #1a1a1a);
overflow: hidden;
height: 100%;
}
.nut-calendar.nut-calendar-title .nut-calendar-header .calendar-title {
font-size: var(--nutui-calendar-base-font-size, var(--nutui-font-size-l, calc(15px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
}
.nut-calendar .nut-calendar-taro {
height: 60vh;
}
.nut-calendar .popup-box {
height: 100%;
}
.nut-calendar ::-webkit-scrollbar {
display: none;
}
.nut-calendar-header {
display: flex;
flex-direction: column;
text-align: center;
}
.nut-calendar-header-buttons {
height: var(--nutui-calendar-header-height, calc(24px * var(--nut-scale-f, 1)));
}
.nut-calendar-title {
color: var(--nutui-color-title, #1a1a1a);
font-size: var(--nutui-calendar-title-font-size, var(--nutui-font-size-xl, calc(18px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
font-weight: var(--nutui-calendar-title-font-weight, var(--nutui-font-weight-bold, 600));
line-height: calc(50px * var(--nut-scale-f, 1));
}
.nut-calendar-sub-title {
padding: calc(7px * var(--nut-scale-f, 1)) 0;
line-height: calc(22px * var(--nut-scale-f, 1));
font-size: var(--nutui-calendar-sub-title-font-size, var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
}
.nut-calendar-weeks {
display: flex;
align-items: center;
justify-content: space-around;
height: calc(36px * var(--nut-scale-f, 1));
border-radius: 0 0 calc(12px * var(--nut-scale-f, 1)) calc(12px * var(--nut-scale-f, 1));
box-shadow: 0 calc(4px * var(--nut-scale-f, 1)) calc(10px * var(--nut-scale-f, 1)) 0 rgba(0, 0, 0, 0.06);
}
.nut-calendar-week-item:first-of-type, .nut-calendar-week-item:last-of-type {
color: var(--nutui-color-primary, #ff0f23);
}
.nut-calendar-content {
flex: 1;
width: 100%;
display: block;
overflow-y: auto;
}
.nut-calendar-pannel {
position: relative;
width: 100%;
height: auto;
display: block;
box-sizing: border-box;
}
.nut-calendar-pannel .calendar-loading-tip {
height: calc(50px * var(--nut-scale-f, 1));
line-height: calc(50px * var(--nut-scale-f, 1));
text-align: center;
position: absolute;
top: calc(-50px * var(--nut-scale-f, 1));
left: 0;
right: 0;
font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))));
color: var(--nutui-color-text, #505259);
}
.nut-calendar-month {
display: flex;
flex-direction: column;
text-align: center;
}
.nut-calendar-month-title {
height: calc(23px * var(--nut-scale-f, 1));
line-height: calc(23px * var(--nut-scale-f, 1));
margin: calc(8px * var(--nut-scale-f, 1)) 0;
}
.nut-calendar-days {
overflow: hidden;
}
.nut-calendar-day {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
position: relative;
float: left;
width: var(--nutui-calendar-day-width, 14.28%);
height: var(--nutui-calendar-day-height, calc(60px * var(--nut-scale-f, 1)));
font-weight: var(--nutui-calendar-day-font-weight, var(--nutui-font-weight-bold, 600));
margin-bottom: calc(4px * var(--nut-scale-f, 1));
}
.nut-calendar-day-day, .nut-calendar-day-info-curr {
color: var(--nutui-color-title, #1a1a1a);
}
.nut-calendar-day:nth-child(7n+0), .nut-calendar-day:nth-child(7n+1) {
color: var(--nutui-color-primary, #ff0f23);
}
.nut-calendar-day:nth-child(7n+0) .nut-calendar-day-day,
.nut-calendar-day:nth-child(7n+0) .nut-calendar-day-info-curr, .nut-calendar-day:nth-child(7n+1) .nut-calendar-day-day,
.nut-calendar-day:nth-child(7n+1) .nut-calendar-day-info-curr {
color: var(--nutui-color-primary, #ff0f23);
}
.nut-calendar-day-info, .nut-calendar-day-info-curr {
position: absolute;
bottom: calc(5px * var(--nut-scale-f, 1));
width: 100%;
font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))));
line-height: calc(14px * var(--nut-scale-f, 1));
}
.nut-calendar-day-info-top {
position: absolute;
width: 100%;
top: calc(5px * var(--nut-scale-f, 1));
}
.nut-calendar-day-info-bottom {
position: absolute;
width: 100%;
bottom: calc(5px * var(--nut-scale-f, 1));
}
.nut-calendar-day-active {
background-color: var(--nutui-calendar-active-background-color, var(--nutui-color-primary, #ff0f23));
color: #ffffff ;
border-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
}
.nut-calendar-day-active.active-start {
border-radius: 0;
border-top-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
border-bottom-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
}
.nut-calendar-day-active.active-end {
border-radius: 0;
border-top-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
border-bottom-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
}
.nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-info {
color: #ffffff;
}
.nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-day, .nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-info-curr {
color: #ffffff;
}
.nut-calendar-day-disabled {
color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #c2c4cc)) ;
}
.nut-calendar-day-disabled.nut-calendar-day-disabled .nut-calendar-day-day, .nut-calendar-day-disabled.nut-calendar-day-disabled .nut-calendar-day-info-curr {
color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #c2c4cc));
}
.nut-calendar-day-disabled .nut-calendar-day-info-curr {
display: none;
}
.nut-calendar-day-choose {
background-color: var(--nutui-calendar-choose-background-color, var(--nutui-color-primary-light-pressed, #ffebf1));
color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff0f23));
}
.nut-calendar-day-choose.nut-calendar-day-choose .nut-calendar-day-day, .nut-calendar-day-choose.nut-calendar-day-choose .nut-calendar-day-info-curr {
color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff0f23));
}
.nut-calendar-day-choose-disabled {
background-color: var(--nutui-calendar-choose-disable-background-color, rgba(191, 191, 191, 0.09));
color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #c2c4cc)) ;
}
.nut-calendar-day-choose-disabled.nut-calendar-day-choose-disabled .nut-calendar-day-day, .nut-calendar-day-choose-disabled.nut-calendar-day-choose-disabled .nut-calendar-day-info-curr {
color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #c2c4cc));
}
.nut-calendar-day-choose-disabled .nut-calendar-day-info-curr {
display: none;
}
.nut-calendar-footer {
display: flex;
width: 100%;
flex-direction: column;
background-color: #ffffff;
}
.nut-calendar-footer .calendar-confirm-btn {
height: calc(40px * var(--nut-scale-f, 1));
line-height: calc(40px * var(--nut-scale-f, 1));
margin: calc(6px * var(--nut-scale-f, 1)) calc(16px * var(--nut-scale-f, 1));
text-align: center;
border-radius: var(--nutui-radius-base, calc(8px * var(--nut-scale-f, 1)));
background: linear-gradient(90deg, var(--nutui-color-primary-stop-1, #ff475d) 0%, var(--nutui-color-primary-stop-2, #ff0f23) 100%);
color: #ffffff;
font-weight: var(--nutui-font-weight-bold, 600);
}
.nut-calendar-popup .nut-popup-title-right {
top: calc(7px * var(--nut-scale-f, 1)) ;
}
[dir=rtl] .nut-calendar-day,
.nut-rtl .nut-calendar-day {
float: right;
}
[dir=rtl] .nut-calendar-day-active.active-start,
.nut-rtl .nut-calendar-day-active.active-start {
border-top-left-radius: 0;
border-top-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
border-bottom-left-radius: 0;
border-bottom-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
}
[dir=rtl] .nut-calendar-day-active.active-end,
.nut-rtl .nut-calendar-day-active.active-end {
border-top-right-radius: 0;
border-top-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
border-bottom-right-radius: 0;
border-bottom-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
}