返回 AiToEarn
calendarTiming.scss
根目录 / project / aitoearn-web / src / app / [lng] / accounts / components / CalendarTiming / calendarTiming.scss
1 /* CalendarTiming FullCalendar 全局样式覆盖 */
2 .fc-daygrid-day.fc-day-today {
3 background: transparent;
4 }
5
6 /* 今天的日期样式已经在组件内通过 Tailwind CSS 处理,这里不再需要 */
7
8 .fc-daygrid-day-frame {
9 display: flex;
10 }
11
12 .fc-daygrid-day-frame .fc-daygrid-day-top {
13 display: flex;
14 flex: 1;
15 }
16
17 .fc-daygrid-day-frame .fc-daygrid-day-top .fc-daygrid-day-number {
18 z-index: auto;
19 padding: 0;
20 flex: 1;
21 }
22
23 .fc-daygrid-day-frame .fc-daygrid-day-events {
24 display: none;
25 }
26
27 .fc-media-screen {
28 display: flex;
29 flex-direction: column;
30 min-height: 0;
31 }
32
33 .calendarTiming-calendar {
34 position: relative;
35 display: flex;
36 flex-direction: column;
37 min-height: 0;
38 height: 100%;
39 padding: 1rem;
40 will-change: transform, opacity;
41 }
42
43 .calendarTiming-calendar .fc-scrollgrid {
44 border-top: none !important;
45 }
46
47 .calendarTiming-calendar thead {
48 background-color: var(--background);
49 z-index: 5;
50 }
51
52 .calendarTiming-calendar thead .fc-scroller-harness {
53 border-top: 1px solid var(--border);
54 }
55
56 .calendarTiming-calendar thead .fc-scrollgrid-sync-inner {
57 padding: 5px 0;
58 }
59
60 .calendarTiming-calendar .fc-theme-standard td,
61 .calendarTiming-calendar .fc-theme-standard th {
62 border-color: var(--border);
63 }
64
65 /* CSSTransition 日历切换动画 */
66 /* 向左滑动(下月):从右侧滑入,向左滑出 */
67 .slideLeftEnter {
68 opacity: 0;
69 transform: translateX(50px);
70 }
71
72 .slideLeftEnterActive {
73 opacity: 1;
74 transform: translateX(0);
75 transition:
76 opacity 300ms ease-out,
77 transform 300ms ease-out;
78 }
79
80 .slideLeftExit {
81 opacity: 1;
82 transform: translateX(0);
83 }
84
85 .slideLeftExitActive {
86 opacity: 0;
87 transform: translateX(-50px);
88 transition:
89 opacity 300ms ease-out,
90 transform 300ms ease-out;
91 }
92
93 /* 向右滑动(上月):从左侧滑入,向右滑出 */
94 .slideRightEnter {
95 opacity: 0;
96 transform: translateX(-50px);
97 }
98
99 .slideRightEnterActive {
100 opacity: 1;
101 transform: translateX(0);
102 transition:
103 opacity 300ms ease-out,
104 transform 300ms ease-out;
105 }
106
107 .slideRightExit {
108 opacity: 1;
109 transform: translateX(0);
110 }
111
112 .slideRightExitActive {
113 opacity: 0;
114 transform: translateX(50px);
115 transition:
116 opacity 300ms ease-out,
117 transform 300ms ease-out;
118 }
119
120 /* 淡入淡出(今天) */
121 .fadeEnter {
122 opacity: 0;
123 }
124
125 .fadeEnterActive {
126 opacity: 1;
127 transition: opacity 300ms ease-out;
128 }
129
130 .fadeExit {
131 opacity: 1;
132 }
133
134 .fadeExitActive {
135 opacity: 0;
136 transition: opacity 300ms ease-out;
137 }
138
139 /* ================================
140 移动端响应式样式 (< 768px)
141 ================================ */
142 @media (max-width: 767px) {
143 /* 日历容器:减小内边距 */
144 .calendarTiming-calendar {
145 padding: 0.5rem;
146 }
147
148 /* 星期头部:字体缩小 */
149 .calendarTiming-calendar thead .fc-scrollgrid-sync-inner {
150 padding: 3px 0;
151 font-size: 0.75rem;
152 }
153
154 /* 星期名称:缩小 */
155 .fc-col-header-cell-cushion {
156 font-size: 0.7rem;
157 padding: 4px 2px;
158 }
159
160 /* 动画加速 - 移动端使用更快的动画 */
161 .slideLeftEnterActive,
162 .slideLeftExitActive,
163 .slideRightEnterActive,
164 .slideRightExitActive {
165 transition-duration: 200ms;
166 }
167
168 /* 减小滑动距离 */
169 .slideLeftEnter {
170 transform: translateX(30px);
171 }
172
173 .slideLeftExitActive {
174 transform: translateX(-30px);
175 }
176
177 .slideRightEnter {
178 transform: translateX(-30px);
179 }
180
181 .slideRightExitActive {
182 transform: translateX(30px);
183 }
184 }
185
186 /* ================================
187 PC 周视图样式
188 ================================ */
189
190 /* 周视图容器需要支持 CSSTransition 动画 */
191 .pcWeekView {
192 position: relative;
193 display: flex;
194 flex-direction: column;
195 min-height: 0;
196 height: 100%;
197 will-change: transform, opacity;
198 }
199
199 lines Plain Text