blob: 94d791b878cad33edb149fe5ad8d68c09b063c5d [file] [log] [blame]
Akane121765b61a72025-05-17 13:52:25 +08001/* HelpDetail.css */
2.help-detail-container {
3 max-width: 800px;
4 margin: 0 auto;
5 padding: 20px;
6 }
7
8 .back-button {
9 background: none;
10 border: none;
11 color: #1890ff;
12 cursor: pointer;
13 font-size: 16px;
14 margin-bottom: 20px;
15 padding: 5px 0;
16 }
17
18 .help-post {
19 background: #fff;
20 border-radius: 8px;
21 padding: 20px;
22 margin-bottom: 20px;
23 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
24 }
25
26 .help-post.solved {
27 border-left: 4px solid #52c41a;
28 }
29
30 .post-header {
31 display: flex;
32 align-items: center;
33 margin-bottom: 15px;
34 position: relative;
35 }
36
37 .post-avatar {
38 width: 40px;
39 height: 40px;
40 border-radius: 50%;
41 margin-right: 10px;
42 }
43
44 .post-meta {
45 display: flex;
46 flex-direction: column;
47 }
48
49 .post-author {
50 font-weight: bold;
51 }
52
53 .post-date {
54 color: #888;
55 font-size: 14px;
56 }
57
58 .solved-badge {
59 position: absolute;
60 right: 0;
61 top: 0;
62 background: #52c41a;
63 color: white;
64 padding: 2px 8px;
65 border-radius: 4px;
66 font-size: 12px;
67 }
68
69 .post-title {
70 font-size: 20px;
71 margin: 0 0 15px;
72 }
73
74 .post-content {
75 line-height: 1.6;
76 margin-bottom: 15px;
77 }
78
79 .post-actions {
80 display: flex;
81 gap: 15px;
82 }
83
84 .like-button, .favorite-button, .solve-button {
85 padding: 5px 15px;
86 border-radius: 4px;
87 border: 1px solid #ddd;
88 background: #f5f5f5;
89 cursor: pointer;
90 }
91
92 .like-button.liked {
93 background: #e6f7ff;
94 border-color: #91d5ff;
95 color: #1890ff;
96 }
97
98 .favorite-button.favorited {
99 background: #fff7e6;
100 border-color: #ffd591;
101 color: #fa8c16;
102 }
103
104 .solve-button.solved {
105 background: #f6ffed;
106 border-color: #b7eb8f;
107 color: #52c41a;
108 }
109
110 .comments-section {
111 background: #fff;
112 border-radius: 8px;
113 padding: 20px;
114 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
115 }
116
117 .comment-form {
118 margin-bottom: 20px;
119 }
120
121 .comment-form textarea {
122 width: 100%;
123 padding: 10px;
124 border-radius: 4px;
125 border: 1px solid #ddd;
126 resize: vertical;
127 min-height: 80px;
128 margin-bottom: 10px;
129 }
130
131 .image-upload {
132 margin-bottom: 10px;
133 }
134
135 .upload-button {
136 background: #f5f5f5;
137 border: 1px dashed #d9d9d9;
138 border-radius: 4px;
139 padding: 8px 16px;
140 cursor: pointer;
141 margin-bottom: 10px;
142 }
143
144 .image-preview {
145 display: flex;
146 flex-wrap: wrap;
147 gap: 10px;
148 }
149
150 .preview-item {
151 position: relative;
152 width: 100px;
153 height: 100px;
154 }
155
156 .preview-item img {
157 width: 100%;
158 height: 100%;
159 object-fit: cover;
160 border-radius: 4px;
161 }
162
163 .remove-image {
164 position: absolute;
165 top: -8px;
166 right: -8px;
167 width: 20px;
168 height: 20px;
169 background: #ff4d4f;
170 color: white;
171 border: none;
172 border-radius: 50%;
173 cursor: pointer;
174 display: flex;
175 align-items: center;
176 justify-content: center;
177 font-size: 12px;
178 }
179
180 .submit-button {
181 background: #1890ff;
182 color: white;
183 border: none;
184 border-radius: 4px;
185 padding: 8px 16px;
186 cursor: pointer;
187 }
188
189 .comment-list {
190 margin-top: 20px;
191 }
192
193 .comment-item {
194 display: flex;
195 padding: 15px 0;
196 border-bottom: 1px solid #f0f0f0;
197 }
198
199 .comment-item:last-child {
200 border-bottom: none;
201 }
202
203 .comment-avatar {
204 width: 40px;
205 height: 40px;
206 border-radius: 50%;
207 margin-right: 15px;
208 flex-shrink: 0;
209 }
210
211 .comment-content {
212 flex-grow: 1;
213 }
214
215 .comment-header {
216 display: flex;
217 justify-content: space-between;
218 margin-bottom: 8px;
219 }
220
221 .comment-author {
222 font-weight: bold;
223 }
224
225 .comment-date {
226 color: #888;
227 font-size: 14px;
228 }
229
230 .comment-text {
231 line-height: 1.6;
232 margin-bottom: 8px;
233 }
234
235 .comment-images {
236 display: flex;
237 gap: 10px;
238 margin-bottom: 10px;
239 }
240
241 .comment-image {
242 max-width: 200px;
243 max-height: 150px;
244 border-radius: 4px;
245 }
246
247 .comment-actions {
248 margin-top: 10px;
249 }
250
251 .reply-form {
252 margin-top: 10px;
253 display: flex;
254 gap: 10px;
255 }
256
257 .reply-form textarea {
258 flex-grow: 1;
259 padding: 8px;
260 border-radius: 4px;
261 border: 1px solid #ddd;
262 resize: vertical;
263 min-height: 40px;
264 }
265
266 .submit-reply {
267 background: #f5f5f5;
268 border: 1px solid #d9d9d9;
269 border-radius: 4px;
270 padding: 0 15px;
271 cursor: pointer;
272 align-self: flex-end;
273 margin-bottom: 5px;
274 }
275
276 .reply-list {
277 margin-top: 10px;
278 padding-left: 15px;
279 border-left: 2px solid #f0f0f0;
280 }
281
282 .reply-item {
283 display: flex;
284 margin-top: 10px;
285 }
286
287 .reply-avatar {
288 width: 30px;
289 height: 30px;
290 border-radius: 50%;
291 margin-right: 10px;
292 }
293
294 .reply-content {
295 flex-grow: 1;
296 }
297
298 .reply-header {
299 display: flex;
300 gap: 10px;
301 margin-bottom: 5px;
302 }
303
304 .reply-author {
305 font-weight: bold;
306 font-size: 14px;
307 }
308
309 .reply-date {
310 color: #888;
311 font-size: 12px;
312 }
313
314 .reply-text {
315 font-size: 14px;
316 line-height: 1.5;
317 }
318
319 /* 评论项样式 */
320.comment-item {
321 display: flex;
322 margin-bottom: 20px;
323 padding: 15px;
324 background: #fff;
325 border-radius: 8px;
326 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
327}
328
329.comment-avatar {
330 width: 40px;
331 height: 40px;
332 border-radius: 50%;
333 margin-right: 15px;
334 object-fit: cover;
335}
336
337.comment-content {
338 flex: 1;
339}
340
341.comment-header {
342 display: flex;
343 align-items: center;
344 margin-bottom: 8px;
345}
346
347.comment-author {
348 font-weight: bold;
349 margin-right: 10px;
350 color: #333;
351}
352
353.comment-date {
354 font-size: 12px;
355 color: #999;
356}
357
358.comment-text {
359 margin-bottom: 10px;
360 line-height: 1.5;
361 color: #333;
362}
363
364.comment-actions {
365 display: flex;
366 align-items: center;
367 margin-top: 10px;
368}
369
370.like-button {
371 background: none;
372 border: none;
373 cursor: pointer;
374 color: #666;
375 font-size: 14px;
376 padding: 4px 8px;
377 display: flex;
378 align-items: center;
379}
380
381.like-button.liked {
382 color: #1877f2;
383}
384
385.like-button:hover {
386 text-decoration: underline;
387}
388
389/* 回复控制按钮 */
390.reply-controls {
391 margin: 10px 0;
392}
393
394.toggle-replies-btn {
395 background: none;
396 border: none;
397 color: #666;
398 cursor: pointer;
399 font-size: 14px;
400 padding: 4px 8px;
401}
402
403.toggle-replies-btn:hover {
404 color: #333;
405 text-decoration: underline;
406}
407
408.toggle-replies-btn:disabled {
409 color: #ccc;
410 cursor: not-allowed;
411}
412
413/* 回复表单 */
414.reply-form {
415 margin-top: 10px;
416 width: 100%;
417}
418
419.reply-form textarea {
420 width: 100%;
421 padding: 8px;
422 border: 1px solid #ddd;
423 border-radius: 4px;
424 resize: vertical;
425 min-height: 60px;
426 margin-bottom: 8px;
427}
428
429.submit-reply {
430 background-color: #f0f2f5;
431 border: none;
432 border-radius: 4px;
433 padding: 6px 12px;
434 cursor: pointer;
435 color: #333;
436}
437
438.submit-reply:hover {
439 background-color: #e4e6eb;
440}
441
442/* 回复列表 */
443.reply-list {
444 margin-left: 55px; /* 头像宽度 + 边距 */
445 border-left: 2px solid #eee;
446 padding-left: 15px;
447 margin-top: 15px;
448}
449
450.reply-item {
451 display: flex;
452 margin-bottom: 15px;
453 padding: 12px;
454 background: #f9f9f9;
455 border-radius: 6px;
456}
457
458.reply-avatar {
459 width: 32px;
460 height: 32px;
461 border-radius: 50%;
462 margin-right: 10px;
463 object-fit: cover;
464}
465
466.reply-content {
467 flex: 1;
468}
469
470.reply-header {
471 display: flex;
472 align-items: center;
473 margin-bottom: 5px;
474}
475
476.reply-author {
477 font-weight: bold;
478 margin-right: 8px;
479 font-size: 14px;
480 color: #333;
481}
482
483.reply-date {
484 font-size: 12px;
485 color: #999;
486}
487
488.reply-text {
489 font-size: 14px;
490 line-height: 1.4;
491 color: #333;
492 margin-bottom: 5px;
493}
494
495.reply-actions {
496 margin-top: 5px;
497}
498
499/* 回复弹窗样式 */
500.reply-modal-overlay {
501 position: fixed;
502 top: 0;
503 left: 0;
504 right: 0;
505 bottom: 0;
506 background: rgba(0, 0, 0, 0.5);
507 display: flex;
508 justify-content: center;
509 align-items: center;
510 z-index: 1000;
511}
512
513.reply-modal {
514 background: white;
515 padding: 20px;
516 border-radius: 8px;
517 width: 500px;
518 max-width: 90%;
519}
520
521.reply-modal h3 {
522 margin-top: 0;
523 margin-bottom: 15px;
524}
525
526.reply-modal textarea {
527 width: 100%;
528 padding: 10px;
529 border: 1px solid #ddd;
530 border-radius: 4px;
531 resize: vertical;
532 min-height: 100px;
533 margin-bottom: 15px;
534}
535
536.modal-actions {
537 display: flex;
538 justify-content: flex-end;
539 gap: 10px;
540}
541
542.cancel-button {
543 background: #f5f5f5;
544 border: 1px solid #d9d9d9;
545 border-radius: 4px;
546 padding: 8px 16px;
547 cursor: pointer;
548}
549
550.submit-button {
551 background: #1890ff;
552 color: white;
553 border: none;
554 border-radius: 4px;
555 padding: 8px 16px;
556 cursor: pointer;
557}