@xingwangzhe/stalux 1.29.7 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +6 -2
  2. package/package.json +10 -6
  3. package/src/components/stalux/archives/archivesList.astro +22 -16
  4. package/src/components/stalux/archives/toArchive.astro +2 -2
  5. package/src/components/stalux/categories/categoriesCard.astro +8 -7
  6. package/src/components/stalux/categories/categoriesList.astro +3 -2
  7. package/src/components/stalux/common/author.astro +3 -3
  8. package/src/components/stalux/common/date.astro +3 -4
  9. package/src/components/stalux/common/textType.astro +2 -2
  10. package/src/components/stalux/footer/FooterBadges.astro +9 -97
  11. package/src/components/stalux/footer/FooterBeian.astro +2 -44
  12. package/src/components/stalux/footer/FooterCopyright.astro +1 -16
  13. package/src/components/stalux/footer/FooterStats.astro +4 -25
  14. package/src/components/stalux/footer/FooterThemeInfo.astro +1 -28
  15. package/src/components/stalux/layout/footer.astro +3 -3
  16. package/src/components/stalux/layout/listPage.astro +3 -3
  17. package/src/components/stalux/layout/navs.astro +13 -13
  18. package/src/components/stalux/links/linkCard.astro +7 -6
  19. package/src/components/stalux/links/linkList.astro +4 -3
  20. package/src/components/stalux/links/socialMedia.astro +2 -2
  21. package/src/components/stalux/posts/PostTaxonomy.astro +13 -8
  22. package/src/components/stalux/posts/postAuthor.astro +6 -5
  23. package/src/components/stalux/posts/postCC.astro +10 -9
  24. package/src/components/stalux/posts/postCard.astro +15 -15
  25. package/src/components/stalux/posts/postContent.astro +22 -14
  26. package/src/components/stalux/posts/postLeft.astro +5 -4
  27. package/src/components/stalux/posts/postList.astro +2 -3
  28. package/src/components/stalux/posts/postNavigation.astro +24 -23
  29. package/src/components/stalux/posts/postRight.astro +7 -6
  30. package/src/components/stalux/posts/postToc.astro +7 -19
  31. package/src/components/stalux/posts/randomPost.astro +8 -7
  32. package/src/components/stalux/tags/tagHeader.astro +10 -6
  33. package/src/components/stalux/tags/tagsCloud.astro +10 -9
  34. package/src/components/stalux/words/wordCard.astro +11 -10
  35. package/src/components/stalux/words/wordList.astro +4 -3
  36. package/src/index.ts +5 -4
  37. package/src/internal/runtime-cache-key.ts +13 -1
  38. package/src/layouts/PostLayout.astro +3 -4
  39. package/src/layouts/Stalux.astro +0 -17
  40. package/src/pages/404.astro +6 -77
  41. package/src/pages/archives.astro +3 -3
  42. package/src/pages/categories/index.astro +3 -3
  43. package/src/pages/index.astro +4 -18
  44. package/src/pages/tags/index.astro +3 -3
  45. package/src/pages/words.astro +3 -3
  46. package/src/scripts/analytics-runtime.ts +9 -6
  47. package/src/scripts/waline-client.ts +1 -1
  48. package/src/styles/archives.css +2 -0
  49. package/src/styles/article.css +2 -0
  50. package/src/styles/categories.css +2 -0
  51. package/src/styles/components/posts/waline.css +19 -23
  52. package/src/styles/generated-archives.css +3 -0
  53. package/src/styles/generated-article.css +3 -0
  54. package/src/styles/generated-categories.css +3 -0
  55. package/src/styles/generated-links.css +3 -0
  56. package/src/styles/generated-prose.css +2 -0
  57. package/src/styles/generated-tags.css +3 -0
  58. package/src/styles/generated-waline.css +2 -0
  59. package/src/styles/generated-words.css +3 -0
  60. package/src/styles/generated.css +3 -0
  61. package/src/styles/links.css +2 -0
  62. package/src/styles/prose.css +3 -0
  63. package/src/styles/tags.css +2 -0
  64. package/src/styles/theme/archives.css +138 -0
  65. package/src/styles/theme/article.css +562 -0
  66. package/src/styles/theme/base.css +290 -0
  67. package/src/styles/theme/categories.css +54 -0
  68. package/src/styles/theme/common.css +79 -0
  69. package/src/styles/theme/footer.css +26 -0
  70. package/src/styles/theme/inline.css +153 -0
  71. package/src/styles/theme/layout.css +143 -0
  72. package/src/styles/theme/link-cards.css +114 -0
  73. package/src/styles/theme/links.css +69 -0
  74. package/src/styles/theme/pages.css +35 -0
  75. package/src/styles/theme/posts.css +79 -0
  76. package/src/styles/theme/prose.css +478 -0
  77. package/src/styles/theme/tags.css +130 -0
  78. package/src/styles/theme/words.css +84 -0
  79. package/src/styles/theme.css +12 -0
  80. package/src/styles/words.css +2 -0
  81. package/src/styles/base/init.css +0 -287
  82. package/src/styles/components/archives/archivesList.module.css +0 -203
  83. package/src/styles/components/archives/toArchive.module.css +0 -3
  84. package/src/styles/components/categories/categoriesCard.module.css +0 -88
  85. package/src/styles/components/categories/categoriesList.module.css +0 -23
  86. package/src/styles/components/common/author.module.css +0 -72
  87. package/src/styles/components/common/date.module.css +0 -15
  88. package/src/styles/components/common/textType.module.css +0 -10
  89. package/src/styles/components/footer/footer.module.css +0 -44
  90. package/src/styles/components/layout/navs.module.css +0 -261
  91. package/src/styles/components/links/linkCard.module.css +0 -116
  92. package/src/styles/components/links/linkList.module.css +0 -54
  93. package/src/styles/components/links/socialLinks.module.css +0 -80
  94. package/src/styles/components/markdown.css +0 -523
  95. package/src/styles/components/posts/postAuthor.module.css +0 -31
  96. package/src/styles/components/posts/postCC.module.css +0 -138
  97. package/src/styles/components/posts/postCard.module.css +0 -167
  98. package/src/styles/components/posts/postContent.module.css +0 -238
  99. package/src/styles/components/posts/postLayout.module.css +0 -138
  100. package/src/styles/components/posts/postList.module.css +0 -25
  101. package/src/styles/components/posts/postNavigation.module.css +0 -186
  102. package/src/styles/components/posts/postSidebar.module.css +0 -59
  103. package/src/styles/components/posts/postTaxonomy.module.css +0 -87
  104. package/src/styles/components/posts/postToc.module.css +0 -74
  105. package/src/styles/components/posts/randomPost.module.css +0 -131
  106. package/src/styles/components/tags/tagHeader.module.css +0 -44
  107. package/src/styles/components/tags/tagsCloud.module.css +0 -155
  108. package/src/styles/components/words/wordCard.module.css +0 -136
  109. package/src/styles/components/words/wordList.module.css +0 -26
  110. package/src/styles/pages/archives.module.css +0 -22
  111. package/src/styles/pages/categories.module.css +0 -17
  112. package/src/styles/pages/home.module.css +0 -61
  113. package/src/styles/pages/listPage.module.css +0 -16
  114. package/src/styles/pages/tags.module.css +0 -16
  115. package/src/styles/pages/words.module.css +0 -16
@@ -1,287 +0,0 @@
1
- /* 全局设置 */
2
- html,
3
- body {
4
- margin: 0;
5
- width: 100%;
6
- height: 100%;
7
- color: white;
8
- main {
9
- flex: 1;
10
- }
11
- scrollbar-color: #4a4a4a #2a2a2a;
12
- display: block;
13
- font-family:
14
- var(--font-body), "Noto Sans SC", "Noto Sans CJK SC", system-ui, -apple-system, sans-serif;
15
- -webkit-font-smoothing: antialiased;
16
- -moz-osx-font-smoothing: grayscale;
17
- text-rendering: optimizeLegibility;
18
- }
19
-
20
- html[data-clarity-id] {
21
- opacity: 1 !important;
22
- }
23
- /* 将所有链接初始化为无视觉状态,但保留键盘可见焦点 */
24
- a {
25
- color: inherit;
26
- text-decoration: none;
27
- background-color: transparent;
28
- cursor: pointer;
29
- text-decoration-skip-ink: auto;
30
- }
31
-
32
- .a-none {
33
- color: inherit !important;
34
- text-decoration: none !important;
35
- background-color: transparent;
36
- cursor: pointer;
37
- text-decoration-skip-ink: auto;
38
- }
39
-
40
- .a-none::after {
41
- display: none !important;
42
- }
43
-
44
- a {
45
- position: relative;
46
- transition:
47
- color 0.2s ease,
48
- text-shadow 0.2s ease;
49
- }
50
-
51
- /* 下划线动画 */
52
- a::after {
53
- content: "";
54
- position: absolute;
55
- left: 0;
56
- bottom: -2px;
57
- height: 1px;
58
- width: 100%;
59
- background: linear-gradient(90deg, var(--stalux-accent-color), var(--accent-50p));
60
- transform: scaleX(0);
61
- transform-origin: left;
62
- transition: transform 0.25s cubic-bezier(0.25, 0.9, 0.2, 1);
63
- pointer-events: none;
64
- }
65
-
66
- a:hover::after,
67
- a:focus-visible::after,
68
- a:active::after {
69
- transform: scaleX(1);
70
- }
71
-
72
- a:hover,
73
- a:active,
74
- a:focus-visible {
75
- text-decoration: none;
76
- /* 保持颜色不变,避免 hover 时颜色跳变 */
77
- }
78
-
79
- a:focus {
80
- outline: none;
81
- }
82
-
83
- a:focus-visible {
84
- outline: 2px solid var(--stalux-accent-color);
85
- outline-offset: 2px;
86
- }
87
- ul {
88
- list-style: none;
89
- padding: 0;
90
- margin: 0;
91
- }
92
- .none {
93
- display: none;
94
- }
95
- /* 布局:使 body 成为列 flex 容器,并让 main 填充可用高度 */
96
- .stalux-root {
97
- min-height: 100vh;
98
- color: white;
99
- }
100
-
101
- /* 主内容至少撑满视口高度
102
- * - 内容不足视口时:min-height 让 main = 100vh,页脚紧跟在视口下方
103
- * - 内容超过视口时:main 自然撑高,页脚在内容末尾
104
- * 不使用 flex,避免 flex-basis 限制导致内容溢出 main */
105
- .stalux-main {
106
- min-height: 100vh;
107
- }
108
-
109
- /* 默认 stalux 背景的 CSS 变量(非动态默认值) */
110
- :root {
111
- --stalux-bg-color: #202020;
112
- --stalux-bg-filter: none;
113
- --stalux-text-shadow: var(--stalux-accent-color) 0.08rem 0.08rem 0.18rem;
114
- --stalux-accent-color: #eab308;
115
- --stalux-accent-rgb: 234, 179, 8;
116
- --surface-glass: var(--black-05p);
117
- --surface-glass-shadow: var(--shadow-sidebar);
118
-
119
- /* 卡片和标签颜色 Token(可在这里统一调整主题色/透明度) */
120
- --card-bg: var(--surface-glass);
121
- --card-border: rgba(255, 255, 255, 0.1);
122
- --card-box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
123
- --card-box-shadow-hover: 0 14px 28px rgba(0, 0, 0, 0.12);
124
-
125
- --tag-bg: rgba(255, 255, 255, 0.12);
126
- --tag-bg-hover: rgba(255, 255, 255, 0.18);
127
- --category-bg: rgba(255, 255, 255, 0.08);
128
- --category-bg-hover: rgba(255, 255, 255, 0.14);
129
-
130
- --date-bg: rgba(66, 160, 255, 0.18);
131
- --date-border: rgba(66, 160, 255, 0.25);
132
- --updated-bg: rgba(255, 201, 71, 0.2);
133
- --updated-border: rgba(255, 201, 71, 0.3);
134
-
135
- /* 常用颜色值 */
136
- --white-full: #ffffff;
137
- --white-95p: rgba(255, 255, 255, 0.95);
138
- --white-90p: rgba(255, 255, 255, 0.9);
139
- --white-85p: rgba(255, 255, 255, 0.85);
140
- --white-80p: rgba(255, 255, 255, 0.9);
141
- --white-78p: rgba(255, 255, 255, 0.78);
142
- --white-75p: rgba(255, 255, 255, 0.75);
143
- --white-70p: rgba(255, 255, 255, 0.86);
144
- --white-60p: rgba(255, 255, 255, 0.6);
145
- --white-50p: rgba(255, 255, 255, 0.5);
146
- --white-30p: rgba(255, 255, 255, 0.3);
147
- --white-20p: rgba(255, 255, 255, 0.2);
148
- --white-15p: rgba(255, 255, 255, 0.15);
149
- --white-10p: rgba(255, 255, 255, 0.1);
150
- --white-05p: rgba(255, 255, 255, 0.05);
151
-
152
- --black-30p: rgba(0, 0, 0, 0.3);
153
- --black-20p: rgba(0, 0, 0, 0.2);
154
- --black-15p: rgba(0, 0, 0, 0.15);
155
- --black-10p: rgba(0, 0, 0, 0.1);
156
- --black-05p: rgba(0, 0, 0, 0.05);
157
-
158
- /* 强调色变体 */
159
- --accent-90p: rgba(var(--stalux-accent-rgb), 0.9);
160
- --accent-85p: rgba(var(--stalux-accent-rgb), 0.85);
161
- --accent-80p: rgba(var(--stalux-accent-rgb), 0.8);
162
- --accent-70p: rgba(var(--stalux-accent-rgb), 0.7);
163
- --accent-60p: rgba(var(--stalux-accent-rgb), 0.6);
164
- --accent-50p: rgba(var(--stalux-accent-rgb), 0.5);
165
- --accent-40p: rgba(var(--stalux-accent-rgb), 0.4);
166
- --accent-30p: rgba(var(--stalux-accent-rgb), 0.3);
167
- --accent-20p: rgba(var(--stalux-accent-rgb), 0.2);
168
-
169
- /* 常用过渡和动画 */
170
- --transition-fast: 0.18s ease;
171
- --transition-medium: 0.2s ease;
172
- --transition-normal: 0.25s ease;
173
- --transition-slow: 0.3s ease;
174
- --transition-slower: 0.5s ease;
175
- --transition-slowest: 0.6s ease;
176
-
177
- --easing-bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);
178
-
179
- /* 常用间距值 */
180
- --space-2xs: 0.25rem;
181
- --space-xs: 0.75rem;
182
- --space-sm: 0.5rem;
183
- --space-md: 1rem;
184
- --space-lg: 1.5rem;
185
- --space-xl: 2rem;
186
- --space-2xl: 3rem;
187
- --space-3xl: 4rem;
188
-
189
- /* 常用圆角半径值 */
190
- --radius-sm: 4px;
191
- --radius-md: 6px;
192
- --radius-lg: 8px;
193
- --radius-full: 9999px;
194
-
195
- /* 常用阴影 */
196
- --shadow-sm: 0 2px 5px rgba(0, 0, 0, 0.1);
197
- --shadow-md: 0 6px 16px rgba(0, 0, 0, 0.2);
198
- --shadow-lg: 0 8px 20px rgba(0, 0, 0, 0.3);
199
- --shadow-xl: 0 12px 26px rgba(0, 0, 0, 0.28);
200
- --shadow-sidebar:
201
- 0 16px 20px -12px rgba(0, 0, 0, 0.84),
202
- 10px 4px 16px -12px rgba(0, 0, 0, 0.58),
203
- -10px 4px 16px -12px rgba(0, 0, 0, 0.58);
204
- --shadow-raised-hover:
205
- 0 20px 24px -13px rgba(0, 0, 0, 0.9),
206
- 12px 5px 18px -13px rgba(0, 0, 0, 0.68),
207
- -12px 5px 18px -13px rgba(0, 0, 0, 0.68);
208
- --shadow-dark: rgba(0, 0, 0, 0.753);
209
-
210
- /* 语义化颜色 */
211
- --muted-text: #bbb;
212
-
213
- /* 字体族栈 */
214
- --font-body: "Noto Sans SC", "Noto Sans CJK SC", system-ui, sans-serif;
215
- /* --font-code 由 Astro Fonts API 提供;构建时将页面 CJK 子集追加为其回退。 */
216
-
217
- /* 字体大小系统 */
218
- --font-size-subtitle: 1.35rem;
219
- --font-size-base: 1.1rem;
220
- --font-size-small: 0.95rem;
221
- --font-size-smaller: 0.9rem;
222
- --font-size-tiny: 0.85rem;
223
-
224
- /* 边框宽度 */
225
- --border-thin: 1px;
226
- --border-medium: 2px;
227
- --border-thick: 3px;
228
- }
229
- ::-webkit-scrollbar {
230
- width: 8px;
231
- height: 8px;
232
- }
233
-
234
- ::-webkit-scrollbar-track {
235
- background: #2a2a2a;
236
- border-radius: 4px;
237
- }
238
-
239
- ::-webkit-scrollbar-thumb {
240
- background: #4a4a4a;
241
- border-radius: 4px;
242
- transition: background 0.3s ease-out;
243
- }
244
-
245
- ::-webkit-scrollbar-thumb:hover {
246
- background: #5a5a5a;
247
- }
248
-
249
- ::-webkit-scrollbar-corner {
250
- background: #2a2a2a;
251
- }
252
-
253
- /* 背景层 - 双层随机背景,在路由切换时交叉淡入淡出 */
254
- .bg-layer {
255
- position: fixed;
256
- inset: 0;
257
- z-index: -10;
258
- background-repeat: repeat;
259
- background-size: auto;
260
- background-position: center;
261
- background-color: var(--stalux-bg-color, transparent);
262
- filter: var(--stalux-bg-filter, none);
263
- pointer-events: none;
264
- opacity: 0;
265
- transition: opacity 650ms ease-in-out;
266
- /* 禁止浏览器强制色彩模式(高对比度/暗黑模式)调整背景图颜色 */
267
- forced-color-adjust: none;
268
- /* 关键:防止 Safari/WebKit 在暗色模式下自动调整 SVG 背景图颜色 */
269
- color-scheme: only light;
270
- }
271
-
272
- @media (prefers-reduced-motion: reduce) {
273
- .bg-layer {
274
- transition-duration: 0ms;
275
- }
276
- }
277
-
278
- /* footer 基础样式,保证页脚始终可见且不覆盖内容 */
279
- footer {
280
- padding: var(--space-lg) var(--space-md);
281
- text-align: center;
282
- color: var(--muted-text);
283
- background: linear-gradient(180deg, rgba(12, 14, 18, 0.18), rgba(12, 14, 18, 0.72));
284
- border-top: 1px solid var(--white-10p);
285
- backdrop-filter: blur(16px);
286
- -webkit-backdrop-filter: blur(16px);
287
- }
@@ -1,203 +0,0 @@
1
- .archivesContainer {
2
- max-width: 1000px;
3
- margin: 0 auto; /* 水平居中 */
4
- padding: var(--space-xl) var(--space-md);
5
- }
6
-
7
- .timelineContainer {
8
- position: relative;
9
- --tl-line: var(--radius-sm);
10
- --tl-pad: var(--space-xl);
11
- padding-left: var(--tl-pad);
12
- }
13
-
14
- .timelineContainer::before {
15
- content: "";
16
- position: absolute;
17
- left: 0;
18
- top: 0;
19
- width: var(--tl-line);
20
- height: 100%;
21
- background: linear-gradient(to bottom, var(--accent-80p), var(--accent-40p), var(--white-20p));
22
- border-radius: var(--border-medium);
23
- }
24
-
25
- .yearSection {
26
- margin-bottom: var(--space-2xl);
27
- position: relative;
28
- }
29
-
30
- .yearHeader {
31
- display: flex;
32
- align-items: center;
33
- margin-bottom: 1.5rem;
34
- }
35
-
36
- .yearTitle {
37
- position: relative;
38
- --dot: 16px;
39
- font-size: 1.8rem;
40
- margin: 0;
41
- color: var(--accent-90p);
42
- }
43
-
44
- .yearTitle::before {
45
- content: "";
46
- position: absolute;
47
- box-sizing: border-box;
48
- width: var(--dot);
49
- height: var(--dot);
50
- border-radius: 50%;
51
- background-color: var(--accent-80p);
52
- border: 3px solid var(--white-30p);
53
- left: calc(var(--tl-line) / 2 - var(--tl-pad) - var(--dot) / 2);
54
- top: 50%;
55
- transform: translateY(-50%);
56
- z-index: 2;
57
- }
58
-
59
- .yearCount {
60
- margin-left: 1rem;
61
- font-size: 0.9rem;
62
- padding: 0.3rem 0.8rem;
63
- background-color: var(--accent-20p);
64
- border-radius: 1rem;
65
- color: var(--white-90p);
66
- }
67
-
68
- .monthSection {
69
- content-visibility: auto;
70
- contain-intrinsic-block-size: auto var(--archive-estimate, 600px);
71
- margin-left: calc(-1 * var(--tl-pad));
72
- padding-left: var(--tl-pad);
73
- margin-bottom: 2rem;
74
- position: relative;
75
- }
76
-
77
- .noPosts {
78
- text-align: center;
79
- padding: 3rem 1rem;
80
- color: var(--white-70p);
81
- font-size: 1.2rem;
82
- background-color: var(--black-10p);
83
- border-radius: 0.5rem;
84
- width: 100%;
85
- }
86
-
87
- /* 文章列表和项目样式(静态 DOM)*/
88
- .postList {
89
- content-visibility: auto;
90
- contain-intrinsic-block-size: auto var(--archive-group-estimate, 576px);
91
- list-style: none;
92
- padding: 0 0 0 var(--tl-pad);
93
- margin: 0 0 0 calc(-1 * var(--tl-pad));
94
- }
95
-
96
- .postItem {
97
- --dot: 6px;
98
- margin-bottom: 1rem;
99
- position: relative;
100
- padding: 0.35rem 0;
101
- display: flex;
102
- gap: 0.75rem;
103
- align-items: center;
104
- }
105
-
106
- @supports not (content-visibility: auto) {
107
- .monthSection,
108
- .postList {
109
- contain-intrinsic-block-size: auto;
110
- }
111
- }
112
-
113
- .postItem::before {
114
- content: "";
115
- position: absolute;
116
- box-sizing: border-box;
117
- width: var(--dot);
118
- height: var(--dot);
119
- border-radius: 50%;
120
- background-color: var(--white-60p);
121
- left: calc(var(--tl-line) / 2 - var(--tl-pad) - var(--dot) / 2);
122
- top: 50%;
123
- transform: translateY(-50%);
124
- z-index: 1;
125
- }
126
-
127
- .postDate {
128
- color: var(--white-60p);
129
- font-size: 0.85rem;
130
- min-width: 90px;
131
- }
132
-
133
- .postLink {
134
- text-decoration: none;
135
- }
136
-
137
- .monthTitle {
138
- position: relative;
139
- --dot: 10px;
140
- font-size: 1rem;
141
- margin: 0 0 0.25rem 0;
142
- }
143
-
144
- .monthTitle::before {
145
- content: "";
146
- position: absolute;
147
- box-sizing: border-box;
148
- width: var(--dot);
149
- height: var(--dot);
150
- border-radius: 50%;
151
- background-color: rgba(255, 255, 255, 0.6);
152
- left: calc(var(--tl-line) / 2 - var(--tl-pad) - var(--dot) / 2);
153
- top: 50%;
154
- transform: translateY(-50%);
155
- z-index: 1;
156
- }
157
-
158
- @media (max-width: 768px) {
159
- .archivesContainer {
160
- padding: 1.5rem 0.5rem 2rem 1.5rem;
161
- }
162
-
163
- .pageHeader {
164
- margin-bottom: 2rem;
165
- }
166
-
167
- .timelineContainer {
168
- --tl-pad: 1.5rem;
169
- }
170
-
171
- .yearSection {
172
- margin-bottom: 2rem;
173
- }
174
-
175
- .yearTitle {
176
- --dot: 14px;
177
- font-size: 1.6rem;
178
- }
179
-
180
- .monthTitle {
181
- font-size: 1.2rem;
182
- }
183
- }
184
-
185
- @media (max-width: 480px) {
186
- .archivesContainer {
187
- padding: 1.5rem 0.5rem 2rem 1.2rem;
188
- }
189
-
190
- .timelineContainer {
191
- --tl-pad: 1.2rem;
192
- --tl-line: 3px;
193
- }
194
-
195
- .yearTitle {
196
- --dot: 12px;
197
- font-size: 1.4rem;
198
- }
199
-
200
- .monthTitle {
201
- font-size: 1.1rem;
202
- }
203
- }
@@ -1,3 +0,0 @@
1
- #archs {
2
- margin-top: 2em;
3
- }
@@ -1,88 +0,0 @@
1
- /* 分类卡片(扁平化展示) */
2
- .categoryCard {
3
- position: relative;
4
- display: flex;
5
- flex-direction: column;
6
- padding: var(--space-lg);
7
- background-color: var(--surface-glass);
8
- border-radius: 0.8rem;
9
- color: var(--white-full);
10
- box-shadow: var(--card-box-shadow);
11
- transition:
12
- transform 220ms ease,
13
- background-color 220ms ease;
14
- overflow: hidden;
15
- height: fit-content;
16
- }
17
-
18
- .categoryCard::before {
19
- content: "";
20
- position: absolute;
21
- inset: 0;
22
- background: linear-gradient(
23
- 120deg,
24
- rgba(255, 255, 255, 0),
25
- rgba(255, 255, 255, 0.05),
26
- rgba(255, 255, 255, 0)
27
- );
28
- transform: translateX(-100%);
29
- transition: transform 360ms ease;
30
- z-index: 1;
31
- }
32
-
33
- .categoryCard:hover {
34
- transform: translateY(-3px);
35
- background-color: var(--white-05p);
36
- box-shadow: var(--card-box-shadow-hover);
37
- }
38
-
39
- .categoryCard:hover::before {
40
- transform: translateX(100%);
41
- }
42
-
43
- .categoryCard:hover .categoryIcon {
44
- transform: rotate(-15deg) translateY(-3px);
45
- background: var(--accent-30p);
46
- color: var(--white-90p);
47
- box-shadow: 0 3px 8px var(--accent-30p);
48
- opacity: 1;
49
- }
50
- .categoryContent {
51
- flex: 1;
52
- padding-right: 40px;
53
- }
54
-
55
- .categoryheader {
56
- display: flex;
57
- text-decoration: none;
58
- color: var(--white-full);
59
- position: relative;
60
- align-items: center;
61
- width: 100%;
62
- height: 100%;
63
- }
64
-
65
- .categoryIcon {
66
- position: absolute;
67
- top: 10px;
68
- right: 10px;
69
- width: 28px;
70
- height: 28px;
71
- color: var(--white-50p);
72
- transition:
73
- transform 240ms ease,
74
- background-color 240ms ease,
75
- color 240ms ease;
76
- z-index: 2;
77
- transform-origin: center center;
78
- background: var(--black-15p);
79
- padding: 5px;
80
- border-radius: var(--radius-md);
81
- box-shadow: var(--shadow-sm);
82
- opacity: 0.8;
83
- }
84
-
85
- .categoryIcon svg {
86
- width: 100%;
87
- height: 100%;
88
- }
@@ -1,23 +0,0 @@
1
- /* 分类列表 - 响应式网格布局 */
2
-
3
- .categoriesList {
4
- display: grid;
5
- grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
6
- gap: 20px;
7
- margin: 30px auto;
8
- padding: 0;
9
- max-width: 1200px;
10
- list-style: none;
11
- }
12
-
13
- .categoriesList > li {
14
- content-visibility: auto;
15
- contain-intrinsic-block-size: auto 180px;
16
- overflow-clip-margin: 30px;
17
- }
18
-
19
- @supports not (content-visibility: auto) {
20
- .categoriesList > li {
21
- contain-intrinsic-block-size: auto;
22
- }
23
- }
@@ -1,72 +0,0 @@
1
- /* 作者卡片为无边框设计:此处不声明 border */
2
- .author {
3
- display: flex;
4
- flex-direction: column;
5
- justify-content: center;
6
- margin-top: 4em;
7
- }
8
-
9
- .authorFigure {
10
- display: flex;
11
- align-items: center;
12
- justify-content: center;
13
-
14
- img {
15
- border-radius: 50%;
16
- transition: transform 1s ease;
17
- box-shadow: 0 0 10px var(--stalux-accent-color);
18
- }
19
-
20
- img:hover {
21
- transform: rotate(360deg);
22
- }
23
-
24
- figcaption {
25
- margin-left: 1em;
26
- font-size: 2.5em;
27
- font-weight: bold;
28
- text-shadow: var(--stalux-text-shadow);
29
- color: var(--white-full);
30
- }
31
- }
32
-
33
- .figureColumn {
34
- flex-direction: column;
35
- }
36
-
37
- .figureColumn figcaption {
38
- margin-left: 0;
39
- margin-top: 0.5em;
40
- text-align: center;
41
- }
42
-
43
- /* 移动端响应式优化 */
44
- @media (max-width: 768px) {
45
- .author {
46
- margin-top: 2em;
47
- padding: 1em 0.5em;
48
- max-width: 95vw;
49
- width: 100%;
50
- box-sizing: border-box;
51
- }
52
- .authorFigure {
53
- flex-direction: column !important;
54
- gap: 0.5em;
55
- }
56
- .authorFigure img {
57
- width: 64px !important;
58
- height: 64px !important;
59
- max-width: 20vw;
60
- max-height: 20vw;
61
- }
62
- .authorFigure figcaption {
63
- font-size: 1.5em;
64
- margin-left: 0;
65
- margin-top: 0.5em;
66
- text-align: center;
67
- word-break: break-all;
68
- max-width: 90vw;
69
- overflow-wrap: break-word;
70
- white-space: normal;
71
- }
72
- }
@@ -1,15 +0,0 @@
1
- #date-time {
2
- display: flex;
3
- flex-direction: column;
4
- align-items: center;
5
- margin-top: 2em;
6
- text-shadow: var(--stalux-text-shadow);
7
- color: var(--white-full);
8
- #date {
9
- font-size: 2em;
10
- margin-bottom: 0.5em;
11
- }
12
- #time {
13
- font-size: 3em;
14
- }
15
- }
@@ -1,10 +0,0 @@
1
- .typeWriter {
2
- font-size: 2.5em; /* 放大字体 */
3
- margin-top: 1.5em;
4
- text-shadow: var(--stalux-text-shadow);
5
- text-align: center; /* 确保水平居中 */
6
- display: flex;
7
- justify-content: center; /* 额外确保居中,如果需要 */
8
- width: 100%;
9
- min-height: 2em;
10
- }