mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
217 lines
5.4 KiB
Plaintext
217 lines
5.4 KiB
Plaintext
@import './var.less';
|
|
@import '../style/mixins/safe-area.less';
|
|
|
|
:root {
|
|
--van-calendar-background-color: @calendar-background-color;
|
|
--van-calendar-popup-height: @calendar-popup-height;
|
|
--van-calendar-header-box-shadow: @calendar-header-box-shadow;
|
|
--van-calendar-header-title-height: @calendar-header-title-height;
|
|
--van-calendar-header-title-font-size: @calendar-header-title-font-size;
|
|
--van-calendar-header-subtitle-font-size: @calendar-header-subtitle-font-size;
|
|
--van-calendar-weekdays-height: @calendar-weekdays-height;
|
|
--van-calendar-weekdays-font-size: @calendar-weekdays-font-size;
|
|
--van-calendar-month-title-font-size: @calendar-month-title-font-size;
|
|
--van-calendar-month-mark-color: @calendar-month-mark-color;
|
|
--van-calendar-month-mark-font-size: @calendar-month-mark-font-size;
|
|
--van-calendar-day-height: @calendar-day-height;
|
|
--van-calendar-day-font-size: @calendar-day-font-size;
|
|
--van-calendar-range-edge-color: @calendar-range-edge-color;
|
|
--van-calendar-range-edge-background-color: @calendar-range-edge-background-color;
|
|
--van-calendar-range-middle-color: @calendar-range-middle-color;
|
|
--van-calendar-range-middle-background-opacity: @calendar-range-middle-background-opacity;
|
|
--van-calendar-selected-day-size: @calendar-selected-day-size;
|
|
--van-calendar-selected-day-color: @calendar-selected-day-color;
|
|
--van-calendar-info-font-size: @calendar-info-font-size;
|
|
--van-calendar-info-line-height: @calendar-info-line-height;
|
|
--van-calendar-selected-day-background-color: @calendar-selected-day-background-color;
|
|
--van-calendar-day-disabled-color: @calendar-day-disabled-color;
|
|
--van-calendar-confirm-button-height: @calendar-confirm-button-height;
|
|
--van-calendar-confirm-button-margin: @calendar-confirm-button-margin;
|
|
}
|
|
|
|
.van-calendar {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
background-color: var(--van-calendar-background-color);
|
|
|
|
&__popup {
|
|
&.van-popup--top,
|
|
&.van-popup--bottom {
|
|
height: var(--van-calendar-popup-height);
|
|
}
|
|
|
|
&.van-popup--left,
|
|
&.van-popup--right {
|
|
height: 100%;
|
|
}
|
|
|
|
.van-popup__close-icon {
|
|
top: 11px;
|
|
}
|
|
}
|
|
|
|
&__header {
|
|
flex-shrink: 0;
|
|
box-shadow: var(--van-calendar-header-box-shadow);
|
|
}
|
|
|
|
&__month-title,
|
|
&__header-title,
|
|
&__header-subtitle {
|
|
height: var(--van-calendar-header-title-height);
|
|
font-weight: @font-weight-bold;
|
|
line-height: var(--van-calendar-header-title-height);
|
|
text-align: center;
|
|
}
|
|
|
|
&__header-title {
|
|
font-size: var(--van-calendar-header-title-font-size);
|
|
}
|
|
|
|
&__header-subtitle {
|
|
font-size: var(--van-calendar-header-subtitle-font-size);
|
|
}
|
|
|
|
&__month-title {
|
|
font-size: var(--van-calendar-month-title-font-size);
|
|
}
|
|
|
|
&__weekdays {
|
|
display: flex;
|
|
}
|
|
|
|
&__weekday {
|
|
flex: 1;
|
|
font-size: var(--van-calendar-weekdays-font-size);
|
|
line-height: var(--van-calendar-weekdays-height);
|
|
text-align: center;
|
|
}
|
|
|
|
&__body {
|
|
flex: 1;
|
|
overflow: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
&__days {
|
|
position: relative;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
user-select: none;
|
|
}
|
|
|
|
&__month-mark {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
z-index: 0;
|
|
color: var(--van-calendar-month-mark-color);
|
|
font-size: var(--van-calendar-month-mark-font-size);
|
|
transform: translate(-50%, -50%);
|
|
pointer-events: none;
|
|
}
|
|
|
|
&__day,
|
|
&__selected-day {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
}
|
|
|
|
&__day {
|
|
position: relative;
|
|
width: 14.285%;
|
|
height: var(--van-calendar-day-height);
|
|
font-size: var(--van-calendar-day-font-size);
|
|
cursor: pointer;
|
|
|
|
&--end,
|
|
&--start,
|
|
&--start-end,
|
|
&--multiple-middle,
|
|
&--multiple-selected {
|
|
color: var(--van-calendar-range-edge-color);
|
|
background-color: var(--van-calendar-range-edge-background-color);
|
|
}
|
|
|
|
&--start {
|
|
border-radius: @border-radius-md 0 0 @border-radius-md;
|
|
}
|
|
|
|
&--end {
|
|
border-radius: 0 @border-radius-md @border-radius-md 0;
|
|
}
|
|
|
|
&--start-end,
|
|
&--multiple-selected {
|
|
border-radius: @border-radius-md;
|
|
}
|
|
|
|
&--middle {
|
|
color: var(--van-calendar-range-middle-color);
|
|
|
|
&::after {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
background-color: currentColor;
|
|
opacity: var(--van-calendar-range-middle-background-opacity);
|
|
content: '';
|
|
}
|
|
}
|
|
|
|
&--disabled {
|
|
color: var(--van-calendar-day-disabled-color);
|
|
cursor: default;
|
|
}
|
|
}
|
|
|
|
&__top-info,
|
|
&__bottom-info {
|
|
position: absolute;
|
|
right: 0;
|
|
left: 0;
|
|
font-size: var(--van-calendar-info-font-size);
|
|
line-height: var(--van-calendar-info-line-height);
|
|
|
|
@media (max-width: 350px) {
|
|
font-size: 9px;
|
|
}
|
|
}
|
|
|
|
&__top-info {
|
|
top: 6px;
|
|
}
|
|
|
|
&__bottom-info {
|
|
bottom: 6px;
|
|
}
|
|
|
|
&__selected-day {
|
|
width: var(--van-calendar-selected-day-size);
|
|
height: var(--van-calendar-selected-day-size);
|
|
color: var(--van-calendar-selected-day-color);
|
|
background-color: var(--van-calendar-selected-day-background-color);
|
|
border-radius: @border-radius-md;
|
|
}
|
|
|
|
&__footer {
|
|
flex-shrink: 0;
|
|
padding: 0 @padding-md;
|
|
.safe-area-inset-bottom();
|
|
|
|
&--unfit {
|
|
padding-bottom: 0;
|
|
}
|
|
}
|
|
|
|
&__confirm {
|
|
height: var(--van-calendar-confirm-button-height);
|
|
margin: var(--van-calendar-confirm-button-margin);
|
|
}
|
|
}
|