| /* NeuraFlux - 共享欧式园林风格样式 */ |
| |
| /* 引入Google字体 */ |
| @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lora:wght@400;500;600&display=swap'); |
| |
| /* 页面基础样式 */ |
| .emerald-home-container { |
| min-height: 100vh; |
| background: linear-gradient(135deg, #2d5016 0%, #4a7c59 20%, #8fbc8f 40%, #98fb98 60%, #f0fff0 100%); |
| position: relative; |
| font-family: 'Lora', serif; |
| overflow-x: hidden; |
| } |
| |
| /* 背景装饰元素 */ |
| .emerald-home-container::before { |
| content: ''; |
| position: fixed; |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| background: |
| radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.08) 0%, transparent 50%), |
| radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.06) 0%, transparent 50%), |
| radial-gradient(circle at 40% 40%, rgba(144, 238, 144, 0.08) 0%, transparent 50%); |
| animation: backgroundShift 25s ease-in-out infinite; |
| pointer-events: none; |
| z-index: 0; |
| } |
| |
| /* 流星雨效果 */ |
| .meteor-shower { |
| position: fixed; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| pointer-events: none; |
| overflow: hidden; |
| z-index: 1; |
| } |
| |
| .meteor { |
| position: absolute; |
| font-size: 18px; |
| animation: meteorFall linear infinite; |
| opacity: 0.8; |
| filter: drop-shadow(0 0 6px rgba(144, 238, 144, 0.6)); |
| } |
| |
| .meteor:nth-child(1) { left: 5%; animation-duration: 12s; animation-delay: 0s; } |
| .meteor:nth-child(2) { left: 15%; animation-duration: 8s; animation-delay: 3s; } |
| .meteor:nth-child(3) { left: 25%; animation-duration: 15s; animation-delay: 1s; } |
| .meteor:nth-child(4) { left: 35%; animation-duration: 10s; animation-delay: 5s; } |
| .meteor:nth-child(5) { left: 45%; animation-duration: 13s; animation-delay: 2s; } |
| .meteor:nth-child(6) { left: 55%; animation-duration: 9s; animation-delay: 6s; } |
| .meteor:nth-child(7) { left: 65%; animation-duration: 14s; animation-delay: 0.5s; } |
| .meteor:nth-child(8) { left: 75%; animation-duration: 11s; animation-delay: 4s; } |
| .meteor:nth-child(9) { left: 85%; animation-duration: 16s; animation-delay: 1.5s; } |
| .meteor:nth-child(10) { left: 95%; animation-duration: 7s; animation-delay: 3.5s; } |
| |
| /* 浮动装饰元素 */ |
| .floating-garden-elements { |
| position: fixed; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| pointer-events: none; |
| z-index: 1; |
| } |
| |
| .garden-element { |
| position: absolute; |
| font-size: 24px; |
| opacity: 0.4; |
| animation: gardenFloat 6s ease-in-out infinite; |
| } |
| |
| .garden-element:nth-child(1) { top: 10%; left: 10%; animation-delay: 0s; } |
| .garden-element:nth-child(2) { top: 20%; right: 15%; animation-delay: 2s; } |
| .garden-element:nth-child(3) { bottom: 30%; left: 20%; animation-delay: 4s; } |
| .garden-element:nth-child(4) { bottom: 15%; right: 25%; animation-delay: 1s; } |
| |
| /* 内容容器 */ |
| .emerald-content { |
| position: relative; |
| z-index: 10; |
| padding: 20px; |
| max-width: 1400px; |
| margin: 0 auto; |
| } |
| |
| /* 用户栏样式 */ |
| .emerald-user-bar { |
| position: fixed; |
| top: 18px; |
| right: 42px; |
| z-index: 100; |
| display: flex; |
| align-items: center; |
| background: rgba(255, 255, 255, 0.95); |
| backdrop-filter: blur(15px); |
| border-radius: 20px; |
| padding: 8px 24px; |
| box-shadow: |
| 0 8px 32px rgba(45, 80, 22, 0.15), |
| 0 4px 16px rgba(144, 238, 144, 0.1), |
| inset 0 1px 0 rgba(255, 255, 255, 0.7); |
| border: 2px solid rgba(144, 238, 144, 0.3); |
| min-width: 320px; |
| min-height: 48px; |
| width: 520px; |
| animation: userBarFloat 4s ease-in-out infinite; |
| } |
| |
| .emerald-user-bar::before { |
| content: ''; |
| position: absolute; |
| top: -2px; |
| left: -2px; |
| right: -2px; |
| bottom: -2px; |
| background: linear-gradient(45deg, |
| #90ee90 0%, |
| #98fb98 25%, |
| #f0fff0 50%, |
| #98fb98 75%, |
| #90ee90 100%); |
| border-radius: 22px; |
| z-index: -1; |
| animation: borderGlow 3s ease-in-out infinite; |
| } |
| |
| .emerald-user-avatar { |
| cursor: pointer; |
| margin-right: 16px; |
| transition: all 0.3s ease; |
| border-radius: 50%; |
| padding: 4px; |
| background: linear-gradient(135deg, #90ee90, #2d5016); |
| } |
| |
| .emerald-user-avatar:hover { |
| transform: scale(1.1) rotate(5deg); |
| box-shadow: 0 4px 15px rgba(144, 238, 144, 0.4); |
| } |
| |
| /* 品牌区域样式 */ |
| .emerald-brand-section { |
| display: flex; |
| align-items: center; |
| margin-right: 24px; |
| } |
| |
| .emerald-brand-icon { |
| font-size: 24px; |
| margin-right: 8px; |
| animation: iconPulse 3s ease-in-out infinite; |
| } |
| |
| .emerald-user-label { |
| color: #2d5016; |
| font-weight: 600; |
| font-family: 'Playfair Display', serif; |
| letter-spacing: 1px; |
| } |
| |
| .emerald-user-stats { |
| display: flex; |
| gap: 24px; |
| flex: 1; |
| justify-content: flex-end; |
| align-items: center; |
| } |
| |
| .emerald-stat-item { |
| color: #2d5016; |
| font-weight: 500; |
| font-size: 14px; |
| transition: all 0.3s ease; |
| padding: 4px 8px; |
| border-radius: 8px; |
| } |
| |
| .emerald-stat-item:hover { |
| background: rgba(144, 238, 144, 0.2); |
| transform: translateY(-2px); |
| } |
| |
| .emerald-stat-value { |
| font-weight: 700; |
| color: #1a5c1a; |
| } |
| |
| /* 导航栏样式 */ |
| .emerald-nav-bar { |
| background: rgba(255, 255, 255, 0.95); |
| backdrop-filter: blur(20px); |
| border-radius: 25px; |
| padding: 20px 30px; |
| margin: 120px auto 30px; |
| box-shadow: |
| 0 15px 45px rgba(45, 80, 22, 0.12), |
| 0 6px 20px rgba(144, 238, 144, 0.08), |
| inset 0 1px 0 rgba(255, 255, 255, 0.9); |
| border: 2px solid rgba(144, 238, 144, 0.2); |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); |
| gap: 10px; |
| justify-items: center; |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .emerald-nav-bar::before { |
| content: ''; |
| position: absolute; |
| top: -2px; |
| left: -2px; |
| right: -2px; |
| bottom: -2px; |
| background: linear-gradient(45deg, |
| #90ee90 0%, |
| #98fb98 25%, |
| #f0fff0 50%, |
| #98fb98 75%, |
| #90ee90 100%); |
| border-radius: 27px; |
| z-index: -1; |
| animation: borderGlow 5s ease-in-out infinite; |
| } |
| |
| /* 导航项目样式 */ |
| .emerald-nav-item { |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| padding: 16px 20px; |
| border-radius: 18px; |
| cursor: pointer; |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| background: rgba(240, 255, 240, 0.3); |
| border: 2px solid transparent; |
| position: relative; |
| overflow: hidden; |
| min-width: 90px; |
| font-family: 'Lora', serif; |
| } |
| |
| .emerald-nav-item::before { |
| content: ''; |
| position: absolute; |
| top: 0; |
| left: -100%; |
| width: 100%; |
| height: 100%; |
| background: linear-gradient(90deg, transparent, rgba(144, 238, 144, 0.3), transparent); |
| transition: left 0.6s ease; |
| } |
| |
| .emerald-nav-item:hover::before { |
| left: 100%; |
| } |
| |
| .emerald-nav-item:hover { |
| transform: translateY(-8px) scale(1.05); |
| background: rgba(144, 238, 144, 0.2); |
| border-color: rgba(144, 238, 144, 0.4); |
| box-shadow: |
| 0 12px 35px rgba(45, 80, 22, 0.2), |
| 0 6px 20px rgba(144, 238, 144, 0.15); |
| } |
| |
| .emerald-nav-item.active { |
| background: linear-gradient(135deg, #90ee90 0%, #2d5016 100%); |
| color: white; |
| border-color: #2d5016; |
| transform: translateY(-4px); |
| box-shadow: |
| 0 8px 25px rgba(45, 80, 22, 0.3), |
| 0 4px 15px rgba(144, 238, 144, 0.2); |
| } |
| |
| /* 导航图标动画 */ |
| .emerald-nav-icon { |
| font-size: 28px !important; |
| margin-bottom: 8px; |
| transition: all 0.4s ease; |
| position: relative; |
| } |
| |
| .emerald-nav-item:hover .emerald-nav-icon { |
| animation: iconDance 0.6s ease-in-out; |
| transform: scale(1.2); |
| } |
| |
| .emerald-nav-item.active .emerald-nav-icon { |
| color: white; |
| filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)); |
| } |
| |
| /* 导航标签 */ |
| .emerald-nav-label { |
| font-size: 14px; |
| font-weight: 600; |
| letter-spacing: 0.5px; |
| color: #2d5016; |
| transition: all 0.3s ease; |
| } |
| |
| .emerald-nav-item:hover .emerald-nav-label { |
| color: #1a5c1a; |
| transform: scale(1.05); |
| } |
| |
| .emerald-nav-item.active .emerald-nav-label { |
| color: white; |
| font-weight: 700; |
| } |
| |
| /* 内容区域样式 */ |
| .emerald-content-section { |
| background: rgba(255, 255, 255, 0.95); |
| backdrop-filter: blur(20px); |
| border-radius: 25px; |
| padding: 30px; |
| margin: 30px auto; |
| box-shadow: |
| 0 20px 60px rgba(45, 80, 22, 0.12), |
| 0 8px 25px rgba(144, 238, 144, 0.08), |
| inset 0 1px 0 rgba(255, 255, 255, 0.9); |
| border: 2px solid rgba(144, 238, 144, 0.2); |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .emerald-content-section::before { |
| content: ''; |
| position: absolute; |
| top: -2px; |
| left: -2px; |
| right: -2px; |
| bottom: -2px; |
| background: linear-gradient(45deg, |
| #90ee90 0%, |
| #98fb98 25%, |
| #f0fff0 50%, |
| #98fb98 75%, |
| #90ee90 100%); |
| border-radius: 27px; |
| z-index: -1; |
| animation: borderGlow 4s ease-in-out infinite; |
| } |
| |
| .emerald-page-title { |
| text-align: center; |
| color: #2d5016; |
| font-family: 'Playfair Display', serif; |
| font-weight: 700; |
| font-size: 32px; |
| margin-bottom: 30px; |
| letter-spacing: 2px; |
| } |
| |
| /* 表格区域样式 */ |
| .emerald-table-section { |
| background: rgba(255, 255, 255, 0.95); |
| backdrop-filter: blur(20px); |
| border-radius: 25px; |
| padding: 30px; |
| margin: 30px auto; |
| box-shadow: |
| 0 20px 60px rgba(45, 80, 22, 0.12), |
| 0 8px 25px rgba(144, 238, 144, 0.08), |
| inset 0 1px 0 rgba(255, 255, 255, 0.9); |
| border: 2px solid rgba(144, 238, 144, 0.2); |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .emerald-table-section::before { |
| content: ''; |
| position: absolute; |
| top: -2px; |
| left: -2px; |
| right: -2px; |
| bottom: -2px; |
| background: linear-gradient(45deg, |
| #90ee90 0%, |
| #98fb98 25%, |
| #f0fff0 50%, |
| #98fb98 75%, |
| #90ee90 100%); |
| border-radius: 27px; |
| z-index: -1; |
| animation: borderGlow 4s ease-in-out infinite; |
| } |
| |
| /* 表格样式 */ |
| .emerald-table { |
| width: 100%; |
| border-collapse: collapse; |
| font-family: 'Lora', serif; |
| background: transparent; |
| } |
| |
| .emerald-table thead { |
| background: linear-gradient(135deg, #2d5016 0%, #4a7c59 100%); |
| } |
| |
| .emerald-table th { |
| padding: 16px 20px; |
| text-align: left; |
| color: white; |
| font-weight: 600; |
| font-size: 16px; |
| letter-spacing: 1px; |
| border-bottom: 3px solid #90ee90; |
| position: relative; |
| } |
| |
| .emerald-table th:first-child { |
| border-radius: 15px 0 0 0; |
| } |
| |
| .emerald-table th:last-child { |
| border-radius: 0 15px 0 0; |
| } |
| |
| .emerald-table tbody tr { |
| transition: all 0.3s ease; |
| border-bottom: 1px solid rgba(144, 238, 144, 0.2); |
| } |
| |
| .emerald-table tbody tr:hover { |
| background: rgba(144, 238, 144, 0.1); |
| transform: translateX(5px); |
| box-shadow: 0 4px 15px rgba(144, 238, 144, 0.15); |
| } |
| |
| .emerald-table td { |
| padding: 14px 20px; |
| color: #2d5016; |
| font-size: 15px; |
| vertical-align: middle; |
| transition: all 0.3s ease; |
| } |
| |
| .emerald-table tbody tr:hover td { |
| color: #1a5c1a; |
| } |
| |
| /* 表格链接样式 */ |
| .emerald-table a { |
| color: #2d5016; |
| text-decoration: none; |
| font-weight: 500; |
| transition: all 0.3s ease; |
| padding: 4px 8px; |
| border-radius: 8px; |
| display: inline-block; |
| } |
| |
| .emerald-table a:hover { |
| color: #1a5c1a; |
| background: rgba(144, 238, 144, 0.2); |
| transform: translateY(-2px); |
| box-shadow: 0 4px 12px rgba(144, 238, 144, 0.3); |
| } |
| |
| /* 论坛页面专用样式 */ |
| |
| /* 文字雨背景效果 */ |
| .forum-text-rain { |
| position: fixed; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| pointer-events: none; |
| overflow: hidden; |
| z-index: 1; |
| } |
| |
| .text-drop { |
| position: absolute; |
| top: -50px; |
| font-size: 14px; |
| color: rgba(45, 80, 22, 0.6); |
| font-family: 'Lora', serif; |
| font-weight: 500; |
| animation: textFall linear infinite; |
| filter: drop-shadow(0 0 4px rgba(144, 238, 144, 0.3)); |
| } |
| |
| @keyframes textFall { |
| 0% { |
| top: -50px; |
| opacity: 0; |
| transform: translateX(0); |
| } |
| 10% { |
| opacity: 1; |
| } |
| 90% { |
| opacity: 1; |
| } |
| 100% { |
| top: 100vh; |
| opacity: 0; |
| transform: translateX(20px); |
| } |
| } |
| |
| /* 论坛工具栏样式 */ |
| .forum-toolbar { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 30px; |
| padding: 20px 30px; |
| background: rgba(255, 255, 255, 0.95); |
| backdrop-filter: blur(15px); |
| border-radius: 20px; |
| box-shadow: |
| 0 8px 32px rgba(45, 80, 22, 0.12), |
| 0 4px 16px rgba(144, 238, 144, 0.08); |
| border: 2px solid rgba(144, 238, 144, 0.2); |
| gap: 20px; |
| } |
| |
| .search-section { |
| display: flex; |
| align-items: center; |
| gap: 0; |
| flex: 1; |
| max-width: 500px; |
| } |
| |
| .search-input-container { |
| position: relative; |
| flex: 1; |
| display: flex; |
| align-items: center; |
| } |
| |
| .search-icon { |
| position: absolute; |
| left: 15px; |
| top: 50%; |
| transform: translateY(-50%); |
| color: rgba(45, 80, 22, 0.6); |
| font-size: 20px !important; |
| } |
| |
| .forum-search-input { |
| width: 100%; |
| padding: 12px 20px 12px 50px; |
| border: 2px solid rgba(144, 238, 144, 0.3); |
| border-radius: 25px 0 0 25px; |
| background: rgba(240, 255, 240, 0.5); |
| font-size: 16px; |
| font-family: 'Lora', serif; |
| outline: none; |
| transition: all 0.3s ease; |
| border-right: none; |
| } |
| |
| .forum-search-input:focus { |
| border-color: rgba(144, 238, 144, 0.6); |
| background: rgba(240, 255, 240, 0.8); |
| box-shadow: 0 0 15px rgba(144, 238, 144, 0.2); |
| } |
| |
| .forum-search-btn { |
| padding: 14px 20px; |
| border: 2px solid rgba(144, 238, 144, 0.3); |
| border-left: none; |
| border-radius: 0 25px 25px 0; |
| background: linear-gradient(135deg, #2d5016 0%, #90ee90 100%); |
| color: white; |
| font-size: 16px; |
| font-family: 'Lora', serif; |
| font-weight: 500; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| box-shadow: 0 4px 15px rgba(45, 80, 22, 0.2); |
| white-space: nowrap; |
| } |
| |
| .forum-search-btn:hover { |
| background: linear-gradient(135deg, #1a3d0e 0%, #7ddc7d 100%); |
| transform: translateY(-1px); |
| box-shadow: 0 6px 20px rgba(45, 80, 22, 0.3); |
| } |
| |
| .forum-search-input:focus + .forum-search-btn { |
| border-color: rgba(144, 238, 144, 0.6); |
| } |
| |
| .new-post-btn { |
| display: flex; |
| align-items: center; |
| padding: 12px 20px; |
| border: none; |
| border-radius: 20px; |
| background: linear-gradient(135deg, #90ee90 0%, #2d5016 100%); |
| color: white; |
| font-size: 16px; |
| font-family: 'Lora', serif; |
| font-weight: 500; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| box-shadow: 0 4px 15px rgba(144, 238, 144, 0.2); |
| } |
| |
| .new-post-btn:hover { |
| transform: translateY(-2px) scale(1.02); |
| box-shadow: 0 6px 20px rgba(144, 238, 144, 0.3); |
| } |
| |
| /* 论坛帖子容器 */ |
| .forum-posts-container { |
| display: flex; |
| flex-direction: column; |
| gap: 20px; |
| } |
| |
| /* 论坛帖子卡片样式 */ |
| .forum-post-card { |
| background: rgba(255, 255, 255, 0.95); |
| backdrop-filter: blur(15px); |
| border-radius: 20px; |
| padding: 25px 30px; |
| border: 2px solid rgba(144, 238, 144, 0.2); |
| cursor: pointer; |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| position: relative; |
| overflow: hidden; |
| box-shadow: 0 8px 25px rgba(45, 80, 22, 0.1); |
| } |
| |
| .forum-post-card::before { |
| content: ''; |
| position: absolute; |
| top: 0; |
| left: -100%; |
| width: 100%; |
| height: 100%; |
| background: linear-gradient(90deg, transparent, rgba(144, 238, 144, 0.1), transparent); |
| transition: left 0.6s ease; |
| } |
| |
| .forum-post-card:hover::before { |
| left: 100%; |
| } |
| |
| .forum-post-card:hover { |
| transform: translateY(-8px) scale(1.02); |
| border-color: rgba(144, 238, 144, 0.4); |
| box-shadow: |
| 0 15px 40px rgba(45, 80, 22, 0.15), |
| 0 8px 25px rgba(144, 238, 144, 0.1); |
| } |
| |
| /* 帖子头部信息 */ |
| .post-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 15px; |
| } |
| |
| .post-author-info { |
| display: flex; |
| align-items: center; |
| gap: 12px; |
| } |
| |
| .author-avatar { |
| width: 40px; |
| height: 40px; |
| border-radius: 50%; |
| background: linear-gradient(135deg, #90ee90, #2d5016); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| box-shadow: 0 2px 10px rgba(45, 80, 22, 0.2); |
| } |
| |
| .author-details { |
| display: flex; |
| flex-direction: column; |
| gap: 2px; |
| } |
| |
| .author-name { |
| font-weight: 600; |
| color: #2d5016; |
| font-size: 16px; |
| font-family: 'Lora', serif; |
| } |
| |
| .post-time { |
| font-size: 12px; |
| color: rgba(45, 80, 22, 0.7); |
| } |
| |
| .post-stats { |
| display: flex; |
| gap: 15px; |
| } |
| |
| .stat-item { |
| background: rgba(144, 238, 144, 0.2); |
| padding: 4px 10px; |
| border-radius: 12px; |
| font-size: 12px; |
| color: #2d5016; |
| font-weight: 500; |
| } |
| |
| /* 帖子内容区域 */ |
| .post-content { |
| margin: 15px 0; |
| } |
| |
| .post-title { |
| font-family: 'Playfair Display', serif; |
| font-size: 20px; |
| font-weight: 700; |
| color: #2d5016; |
| margin-bottom: 10px; |
| line-height: 1.3; |
| } |
| |
| .post-preview { |
| font-size: 15px; |
| color: rgba(45, 80, 22, 0.8); |
| line-height: 1.5; |
| display: -webkit-box; |
| -webkit-line-clamp: 2; |
| line-clamp: 2; |
| -webkit-box-orient: vertical; |
| overflow: hidden; |
| } |
| |
| /* 帖子底部 */ |
| .post-footer { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-top: 15px; |
| padding-top: 15px; |
| border-top: 1px solid rgba(144, 238, 144, 0.2); |
| } |
| |
| .post-tags { |
| display: flex; |
| gap: 8px; |
| } |
| |
| .post-tag { |
| background: linear-gradient(135deg, #90ee90, #2d5016); |
| color: white; |
| padding: 4px 12px; |
| border-radius: 15px; |
| font-size: 12px; |
| font-weight: 500; |
| } |
| |
| .post-actions { |
| display: flex; |
| gap: 10px; |
| } |
| |
| .action-btn { |
| color: #2d5016; |
| font-size: 14px; |
| font-weight: 500; |
| transition: all 0.3s ease; |
| } |
| |
| .action-btn:hover { |
| color: #90ee90; |
| transform: translateX(3px); |
| } |
| |
| /* 帖子详情页面样式 */ |
| .post-detail-header { |
| margin: 20px 0; |
| display: flex; |
| justify-content: flex-start; |
| } |
| |
| .back-to-forum-btn { |
| background: rgba(144, 238, 144, 0.2); |
| border: 2px solid rgba(144, 238, 144, 0.4); |
| border-radius: 20px; |
| padding: 12px 24px; |
| color: #2d5016; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| display: flex; |
| align-items: center; |
| font-family: 'Lora', serif; |
| backdrop-filter: blur(10px); |
| } |
| |
| .back-to-forum-btn:hover { |
| background: rgba(144, 238, 144, 0.3); |
| transform: translateY(-2px); |
| box-shadow: 0 8px 20px rgba(45, 80, 22, 0.15); |
| } |
| |
| .post-detail-main { |
| background: rgba(255, 255, 255, 0.98); |
| border-radius: 20px; |
| padding: 30px; |
| margin-bottom: 30px; |
| border: 2px solid rgba(144, 238, 144, 0.2); |
| box-shadow: 0 15px 40px rgba(45, 80, 22, 0.08); |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .post-detail-main::before { |
| content: ''; |
| position: absolute; |
| top: -2px; |
| left: -2px; |
| right: -2px; |
| bottom: -2px; |
| background: linear-gradient(45deg, |
| #90ee90 0%, |
| #98fb98 25%, |
| #f0fff0 50%, |
| #98fb98 75%, |
| #90ee90 100%); |
| border-radius: 22px; |
| z-index: -1; |
| animation: borderGlow 6s ease-in-out infinite; |
| } |
| |
| .post-detail-header-info { |
| display: flex; |
| justify-content: space-between; |
| align-items: flex-start; |
| margin-bottom: 25px; |
| padding-bottom: 20px; |
| border-bottom: 2px solid rgba(144, 238, 144, 0.2); |
| } |
| |
| .post-author-section { |
| display: flex; |
| align-items: center; |
| gap: 15px; |
| } |
| |
| .post-author-avatar { |
| padding: 8px; |
| background: linear-gradient(135deg, rgba(144, 238, 144, 0.2), rgba(240, 255, 240, 0.6)); |
| border-radius: 50%; |
| border: 2px solid rgba(144, 238, 144, 0.3); |
| } |
| |
| .post-author-details h2.post-author-name { |
| margin: 0; |
| font-size: 22px; |
| color: #2d5016; |
| font-weight: 700; |
| font-family: 'Playfair Display', serif; |
| } |
| |
| .post-publish-time { |
| color: #666; |
| font-size: 14px; |
| font-style: italic; |
| } |
| |
| .post-stats-section { |
| display: flex; |
| gap: 15px; |
| align-items: center; |
| } |
| |
| .stat-badge { |
| display: flex; |
| align-items: center; |
| background: rgba(144, 238, 144, 0.15); |
| padding: 8px 16px; |
| border-radius: 20px; |
| border: 1px solid rgba(144, 238, 144, 0.3); |
| color: #2d5016; |
| font-weight: 500; |
| font-size: 14px; |
| transition: all 0.3s ease; |
| } |
| |
| .stat-badge:hover { |
| background: rgba(144, 238, 144, 0.25); |
| transform: translateY(-2px); |
| } |
| |
| .post-content-section { |
| margin-top: 20px; |
| } |
| |
| .post-detail-title { |
| font-size: 28px; |
| color: #2d5016; |
| font-weight: 700; |
| margin-bottom: 20px; |
| font-family: 'Playfair Display', serif; |
| line-height: 1.3; |
| } |
| |
| .post-detail-content { |
| font-size: 16px; |
| line-height: 1.8; |
| color: #444; |
| background: rgba(240, 255, 240, 0.3); |
| padding: 25px; |
| border-radius: 15px; |
| border-left: 4px solid #90ee90; |
| font-family: 'Lora', serif; |
| } |
| |
| /* 回复区域样式 */ |
| .replies-section { |
| margin-top: 30px; |
| } |
| |
| .replies-title { |
| display: flex; |
| align-items: center; |
| font-size: 22px; |
| color: #2d5016; |
| font-weight: 600; |
| margin-bottom: 25px; |
| font-family: 'Playfair Display', serif; |
| } |
| |
| .replies-list { |
| display: flex; |
| flex-direction: column; |
| gap: 20px; |
| } |
| |
| .reply-card { |
| display: flex; |
| background: rgba(255, 255, 255, 0.95); |
| border-radius: 15px; |
| padding: 20px; |
| border: 1px solid rgba(144, 238, 144, 0.2); |
| transition: all 0.3s ease; |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .reply-card::before { |
| content: ''; |
| position: absolute; |
| top: -1px; |
| left: -1px; |
| right: -1px; |
| bottom: -1px; |
| background: linear-gradient(45deg, |
| transparent 0%, |
| rgba(144, 238, 144, 0.1) 50%, |
| transparent 100%); |
| border-radius: 16px; |
| z-index: -1; |
| opacity: 0; |
| transition: opacity 0.3s ease; |
| } |
| |
| .reply-card:hover::before { |
| opacity: 1; |
| } |
| |
| .reply-card:hover { |
| transform: translateY(-3px); |
| box-shadow: 0 10px 25px rgba(45, 80, 22, 0.1); |
| } |
| |
| .reply-index { |
| background: linear-gradient(135deg, #90ee90, #2d5016); |
| color: white; |
| width: 35px; |
| height: 35px; |
| border-radius: 50%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| font-weight: 700; |
| font-size: 14px; |
| margin-right: 20px; |
| flex-shrink: 0; |
| box-shadow: 0 4px 12px rgba(45, 80, 22, 0.2); |
| } |
| |
| .reply-content-wrapper { |
| flex: 1; |
| } |
| |
| .reply-author-info { |
| display: flex; |
| align-items: center; |
| margin-bottom: 12px; |
| gap: 8px; |
| } |
| |
| .reply-author-name { |
| font-weight: 600; |
| color: #2d5016; |
| font-size: 16px; |
| } |
| |
| .reply-time { |
| color: #888; |
| font-size: 13px; |
| font-style: italic; |
| } |
| |
| .reply-content { |
| color: #444; |
| font-size: 15px; |
| line-height: 1.6; |
| font-family: 'Lora', serif; |
| } |
| |
| .no-replies { |
| text-align: center; |
| padding: 60px 20px; |
| color: #666; |
| background: rgba(240, 255, 240, 0.3); |
| border-radius: 20px; |
| border: 2px dashed rgba(144, 238, 144, 0.3); |
| } |
| |
| .no-replies p { |
| margin: 0; |
| font-size: 16px; |
| font-style: italic; |
| } |
| |
| /* 回复输入区域样式 */ |
| .reply-input-section { |
| margin-top: 40px; |
| background: rgba(255, 255, 255, 0.98); |
| border-radius: 20px; |
| padding: 30px; |
| border: 2px solid rgba(144, 238, 144, 0.2); |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .reply-input-section::before { |
| content: ''; |
| position: absolute; |
| top: -2px; |
| left: -2px; |
| right: -2px; |
| bottom: -2px; |
| background: linear-gradient(45deg, |
| #90ee90 0%, |
| #98fb98 25%, |
| #f0fff0 50%, |
| #98fb98 75%, |
| #90ee90 100%); |
| border-radius: 22px; |
| z-index: -1; |
| animation: borderGlow 5s ease-in-out infinite; |
| } |
| |
| .reply-input-title { |
| color: #2d5016; |
| font-size: 20px; |
| font-weight: 600; |
| margin-bottom: 20px; |
| font-family: 'Playfair Display', serif; |
| } |
| |
| .reply-input-wrapper { |
| display: flex; |
| flex-direction: column; |
| gap: 15px; |
| } |
| |
| .reply-textarea { |
| width: 100%; |
| border: 2px solid rgba(144, 238, 144, 0.3); |
| border-radius: 15px; |
| padding: 20px; |
| font-size: 15px; |
| font-family: 'Lora', serif; |
| line-height: 1.6; |
| background: rgba(240, 255, 240, 0.2); |
| resize: vertical; |
| min-height: 120px; |
| transition: all 0.3s ease; |
| box-sizing: border-box; |
| } |
| |
| .reply-textarea:focus { |
| outline: none; |
| border-color: #90ee90; |
| background: rgba(240, 255, 240, 0.4); |
| box-shadow: 0 0 0 3px rgba(144, 238, 144, 0.2); |
| } |
| |
| .reply-textarea::placeholder { |
| color: #999; |
| font-style: italic; |
| } |
| |
| .reply-actions { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| } |
| |
| .reply-tips { |
| color: #666; |
| font-size: 14px; |
| font-style: italic; |
| } |
| |
| .submit-reply-btn { |
| background: linear-gradient(135deg, #90ee90, #2d5016); |
| color: white; |
| border: none; |
| border-radius: 20px; |
| padding: 12px 30px; |
| font-size: 16px; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| display: flex; |
| align-items: center; |
| font-family: 'Lora', serif; |
| box-shadow: 0 6px 20px rgba(45, 80, 22, 0.2); |
| } |
| |
| .submit-reply-btn:hover { |
| transform: translateY(-3px); |
| box-shadow: 0 10px 30px rgba(45, 80, 22, 0.3); |
| background: linear-gradient(135deg, #7dd87d, #1a4a1a); |
| } |
| |
| .submit-reply-btn:active { |
| transform: translateY(-1px); |
| } |
| |
| /* 发布页面专用样式 */ |
| .publish-text-rain { |
| position: fixed; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| pointer-events: none; |
| overflow: hidden; |
| z-index: 1; |
| } |
| |
| .publish-text-rain .text-drop { |
| position: absolute; |
| font-size: 16px; |
| font-weight: 600; |
| animation: publishTextFall linear infinite; |
| opacity: 0.7; |
| filter: drop-shadow(0 2px 4px rgba(144, 238, 144, 0.3)); |
| font-family: 'Lora', serif; |
| } |
| |
| @keyframes publishTextFall { |
| 0% { |
| transform: translateY(-100vh) rotate(0deg); |
| opacity: 0; |
| } |
| 10% { |
| opacity: 0.8; |
| } |
| 90% { |
| opacity: 0.8; |
| } |
| 100% { |
| transform: translateY(100vh) rotate(360deg); |
| opacity: 0; |
| } |
| } |
| |
| .publish-form-container { |
| max-width: 900px; |
| margin: 0 auto; |
| } |
| |
| .publish-form-advanced { |
| background: rgba(255, 255, 255, 0.98); |
| border-radius: 25px; |
| padding: 40px; |
| border: 2px solid rgba(144, 238, 144, 0.2); |
| position: relative; |
| overflow: hidden; |
| box-shadow: 0 20px 60px rgba(45, 80, 22, 0.12); |
| } |
| |
| .publish-form-advanced::before { |
| content: ''; |
| position: absolute; |
| top: -2px; |
| left: -2px; |
| right: -2px; |
| bottom: -2px; |
| background: linear-gradient(45deg, |
| #90ee90 0%, |
| #98fb98 25%, |
| #f0fff0 50%, |
| #98fb98 75%, |
| #90ee90 100%); |
| border-radius: 27px; |
| z-index: -1; |
| animation: borderGlow 5s ease-in-out infinite; |
| } |
| |
| .form-section { |
| margin-bottom: 35px; |
| padding: 25px; |
| background: rgba(240, 255, 240, 0.2); |
| border-radius: 20px; |
| border: 1px solid rgba(144, 238, 144, 0.2); |
| transition: all 0.3s ease; |
| } |
| |
| .form-section:hover { |
| background: rgba(240, 255, 240, 0.3); |
| transform: translateY(-2px); |
| box-shadow: 0 8px 25px rgba(45, 80, 22, 0.1); |
| } |
| |
| .section-header { |
| display: flex; |
| align-items: center; |
| margin-bottom: 20px; |
| padding-bottom: 15px; |
| border-bottom: 2px solid rgba(144, 238, 144, 0.2); |
| } |
| |
| .section-header h3 { |
| color: #2d5016; |
| font-size: 20px; |
| font-weight: 600; |
| margin: 0; |
| font-family: 'Playfair Display', serif; |
| } |
| |
| .form-grid { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 25px; |
| } |
| |
| .form-field { |
| display: flex; |
| flex-direction: column; |
| margin-bottom: 20px; |
| } |
| |
| .form-field label { |
| color: #2d5016; |
| font-weight: 600; |
| margin-bottom: 8px; |
| font-size: 16px; |
| display: flex; |
| align-items: center; |
| font-family: 'Lora', serif; |
| } |
| |
| .select-wrapper { |
| position: relative; |
| } |
| |
| .modern-select { |
| width: 100%; |
| padding: 15px 20px; |
| border: 2px solid rgba(144, 238, 144, 0.3); |
| border-radius: 15px; |
| font-size: 16px; |
| background: rgba(255, 255, 255, 0.9); |
| color: #2d5016; |
| transition: all 0.3s ease; |
| appearance: none; |
| cursor: pointer; |
| font-family: 'Lora', serif; |
| } |
| |
| .modern-select:focus { |
| outline: none; |
| border-color: #90ee90; |
| background: rgba(255, 255, 255, 1); |
| box-shadow: 0 0 0 3px rgba(144, 238, 144, 0.2); |
| transform: translateY(-2px); |
| } |
| |
| .modern-select::after { |
| content: '▼'; |
| position: absolute; |
| right: 15px; |
| top: 50%; |
| transform: translateY(-50%); |
| color: #90ee90; |
| pointer-events: none; |
| } |
| |
| .modern-input { |
| width: 100%; |
| padding: 15px 20px; |
| border: 2px solid rgba(144, 238, 144, 0.3); |
| border-radius: 15px; |
| font-size: 16px; |
| background: rgba(255, 255, 255, 0.9); |
| color: #2d5016; |
| transition: all 0.3s ease; |
| font-family: 'Lora', serif; |
| box-sizing: border-box; |
| } |
| |
| .modern-input:focus { |
| outline: none; |
| border-color: #90ee90; |
| background: rgba(255, 255, 255, 1); |
| box-shadow: 0 0 0 3px rgba(144, 238, 144, 0.2); |
| transform: translateY(-2px); |
| } |
| |
| .modern-textarea { |
| width: 100%; |
| padding: 15px 20px; |
| border: 2px solid rgba(144, 238, 144, 0.3); |
| border-radius: 15px; |
| font-size: 16px; |
| background: rgba(255, 255, 255, 0.9); |
| color: #2d5016; |
| transition: all 0.3s ease; |
| resize: vertical; |
| min-height: 120px; |
| font-family: 'Lora', serif; |
| line-height: 1.6; |
| box-sizing: border-box; |
| } |
| |
| .modern-textarea:focus { |
| outline: none; |
| border-color: #90ee90; |
| background: rgba(255, 255, 255, 1); |
| box-shadow: 0 0 0 3px rgba(144, 238, 144, 0.2); |
| transform: translateY(-2px); |
| } |
| |
| /* 文件上传区域 */ |
| .file-upload-area { |
| border: 3px dashed rgba(144, 238, 144, 0.4); |
| border-radius: 20px; |
| padding: 40px; |
| text-align: center; |
| background: rgba(240, 255, 240, 0.3); |
| transition: all 0.3s ease; |
| cursor: pointer; |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .file-upload-area:hover { |
| border-color: #90ee90; |
| background: rgba(240, 255, 240, 0.5); |
| transform: translateY(-3px); |
| box-shadow: 0 10px 30px rgba(45, 80, 22, 0.15); |
| } |
| |
| /* 拖拽上传状态样式 */ |
| .file-upload-area.drag-over { |
| border-color: #2d5016 !important; |
| background: rgba(144, 238, 144, 0.2) !important; |
| transform: translateY(-5px) scale(1.02); |
| box-shadow: |
| 0 15px 40px rgba(45, 80, 22, 0.25), |
| 0 0 0 3px rgba(144, 238, 144, 0.3); |
| animation: dragPulse 1.5s ease-in-out infinite; |
| } |
| |
| .file-upload-area.drag-over .upload-main-text { |
| color: #2d5016 !important; |
| font-weight: 700; |
| transform: scale(1.05); |
| } |
| |
| .file-upload-area.drag-over .upload-sub-text { |
| color: #1a5c1a !important; |
| font-weight: 600; |
| } |
| |
| @keyframes dragPulse { |
| 0%, 100% { |
| box-shadow: |
| 0 15px 40px rgba(45, 80, 22, 0.25), |
| 0 0 0 3px rgba(144, 238, 144, 0.3); |
| } |
| 50% { |
| box-shadow: |
| 0 20px 50px rgba(45, 80, 22, 0.35), |
| 0 0 0 5px rgba(144, 238, 144, 0.4); |
| } |
| } |
| |
| /* 拖拽时的全局遮罩效果 */ |
| .file-upload-area.drag-over::after { |
| content: ''; |
| position: absolute; |
| top: -5px; |
| left: -5px; |
| right: -5px; |
| bottom: -5px; |
| border: 3px dashed #2d5016; |
| border-radius: 25px; |
| background: rgba(144, 238, 144, 0.1); |
| animation: dashRotate 2s linear infinite; |
| pointer-events: none; |
| } |
| |
| @keyframes dashRotate { |
| 0% { |
| border-color: #2d5016; |
| transform: rotate(0deg); |
| } |
| 25% { |
| border-color: #90ee90; |
| } |
| 50% { |
| border-color: #2d5016; |
| transform: rotate(180deg); |
| } |
| 75% { |
| border-color: #90ee90; |
| } |
| 100% { |
| border-color: #2d5016; |
| transform: rotate(360deg); |
| } |
| } |
| |
| /* 文件上传区域增强过渡效果 */ |
| .file-upload-area { |
| position: relative; |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| } |
| |
| .file-upload-label { |
| transition: all 0.3s ease; |
| z-index: 10; |
| position: relative; |
| } |
| |
| .upload-main-text, |
| .upload-sub-text { |
| transition: all 0.3s ease; |
| } |
| |
| /* 防止拖拽时的默认行为 */ |
| .file-upload-area * { |
| pointer-events: none; |
| } |
| |
| .file-upload-area label { |
| pointer-events: auto; |
| } |
| |
| .file-upload-area input { |
| pointer-events: auto; |
| } |
| |
| /* 文件上传隐藏输入框 */ |
| .file-input-hidden { |
| display: none; |
| } |
| |
| .file-upload-label { |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| cursor: pointer; |
| padding: 20px; |
| border-radius: 15px; |
| transition: all 0.3s ease; |
| } |
| |
| .upload-text { |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| gap: 8px; |
| } |
| |
| .upload-main-text { |
| font-size: 18px; |
| font-weight: 600; |
| color: #2d5016; |
| transition: all 0.3s ease; |
| font-family: 'Playfair Display', serif; |
| } |
| |
| .upload-sub-text { |
| font-size: 14px; |
| color: #4a7c59; |
| font-style: italic; |
| transition: all 0.3s ease; |
| text-align: center; |
| font-family: 'Lora', serif; |
| } |
| |
| /* 上传进度区域样式 */ |
| .upload-progress-section { |
| margin: 30px 0; |
| padding: 25px; |
| background: rgba(144, 238, 144, 0.1); |
| border-radius: 20px; |
| border: 2px solid rgba(144, 238, 144, 0.3); |
| animation: progressGlow 2s ease-in-out infinite; |
| } |
| |
| @keyframes progressGlow { |
| 0%, 100% { |
| border-color: rgba(144, 238, 144, 0.3); |
| box-shadow: 0 0 10px rgba(144, 238, 144, 0.1); |
| } |
| 50% { |
| border-color: rgba(144, 238, 144, 0.5); |
| box-shadow: 0 0 20px rgba(144, 238, 144, 0.2); |
| } |
| } |
| |
| .progress-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 15px; |
| font-family: 'Lora', serif; |
| font-weight: 600; |
| color: #2d5016; |
| font-size: 16px; |
| } |
| |
| .progress-bar { |
| width: 100%; |
| height: 12px; |
| background: rgba(255, 255, 255, 0.8); |
| border-radius: 10px; |
| overflow: hidden; |
| border: 2px solid rgba(144, 238, 144, 0.3); |
| position: relative; |
| } |
| |
| .progress-fill { |
| height: 100%; |
| background: linear-gradient(90deg, |
| #90ee90 0%, |
| #98fb98 25%, |
| #2d5016 50%, |
| #98fb98 75%, |
| #90ee90 100%); |
| border-radius: 8px; |
| transition: width 0.3s ease; |
| position: relative; |
| animation: progressShine 2s ease-in-out infinite; |
| } |
| |
| @keyframes progressShine { |
| 0% { |
| background-position: -100% 0; |
| } |
| 100% { |
| background-position: 100% 0; |
| } |
| } |
| |
| .progress-fill::after { |
| content: ''; |
| position: absolute; |
| top: 0; |
| left: -100%; |
| width: 100%; |
| height: 100%; |
| background: linear-gradient(90deg, |
| transparent 0%, |
| rgba(255, 255, 255, 0.4) 50%, |
| transparent 100%); |
| animation: progressShineEffect 2s ease-in-out infinite; |
| } |
| |
| @keyframes progressShineEffect { |
| 0% { |
| left: -100%; |
| } |
| 100% { |
| left: 100%; |
| } |
| } |
| |
| /* 表单提交区域样式 */ |
| .form-submit-section { |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| justify-content: center; |
| text-align: center; |
| margin: 40px auto; |
| padding: 30px; |
| background: rgba(240, 255, 240, 0.3); |
| border-radius: 20px; |
| border: 2px dashed rgba(144, 238, 144, 0.4); |
| position: relative; |
| overflow: hidden; |
| max-width: 400px; |
| } |
| |
| .form-submit-section::before { |
| content: ''; |
| position: absolute; |
| top: -50%; |
| left: -50%; |
| width: 200%; |
| height: 200%; |
| background: radial-gradient(circle, rgba(144, 238, 144, 0.1) 0%, transparent 70%); |
| animation: submitAreaFloat 8s ease-in-out infinite; |
| pointer-events: none; |
| } |
| |
| @keyframes submitAreaFloat { |
| 0%, 100% { |
| transform: translate(-50%, -50%) rotate(0deg); |
| } |
| 50% { |
| transform: translate(-50%, -50%) rotate(180deg); |
| } |
| } |
| |
| /* 发布提交按钮样式 */ |
| .publish-submit-btn { |
| background: linear-gradient(135deg, #2d5016 0%, #4a7c59 25%, #90ee90 50%, #4a7c59 75%, #2d5016 100%); |
| background-size: 300% 300%; |
| color: white; |
| border: none; |
| padding: 18px 45px; |
| font-size: 18px; |
| font-weight: 600; |
| border-radius: 25px; |
| cursor: pointer; |
| transition: all 0.4s ease; |
| position: relative; |
| overflow: hidden; |
| font-family: 'Playfair Display', serif; |
| letter-spacing: 1px; |
| box-shadow: |
| 0 8px 25px rgba(45, 80, 22, 0.3), |
| inset 0 1px 0 rgba(255, 255, 255, 0.2); |
| animation: buttonGradient 3s ease-in-out infinite; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| min-width: 180px; |
| margin: 0 auto; |
| z-index: 10; |
| } |
| |
| .publish-submit-btn::before { |
| content: ''; |
| position: absolute; |
| top: 0; |
| left: -100%; |
| width: 100%; |
| height: 100%; |
| background: linear-gradient(90deg, |
| transparent 0%, |
| rgba(255, 255, 255, 0.3) 50%, |
| transparent 100%); |
| transition: left 0.6s ease; |
| } |
| |
| .publish-submit-btn:hover::before { |
| left: 100%; |
| } |
| |
| .publish-submit-btn:hover { |
| transform: translateY(-3px) scale(1.05); |
| box-shadow: |
| 0 12px 35px rgba(45, 80, 22, 0.4), |
| 0 0 0 3px rgba(144, 238, 144, 0.3), |
| inset 0 1px 0 rgba(255, 255, 255, 0.3); |
| background-position: 100% 100%; |
| } |
| |
| .publish-submit-btn:active { |
| transform: translateY(-1px) scale(1.02); |
| transition: all 0.1s ease; |
| } |
| |
| .publish-submit-btn:disabled { |
| opacity: 0.7; |
| cursor: not-allowed; |
| transform: none; |
| animation: none; |
| } |
| |
| .publish-submit-btn:disabled:hover { |
| transform: none; |
| box-shadow: 0 8px 25px rgba(45, 80, 22, 0.3); |
| } |
| |
| @keyframes buttonGradient { |
| 0%, 100% { |
| background-position: 0% 50%; |
| } |
| 50% { |
| background-position: 100% 50%; |
| } |
| } |
| |
| /* 加载动画样式 */ |
| .loading-spinner { |
| width: 20px; |
| height: 20px; |
| border: 3px solid rgba(255, 255, 255, 0.3); |
| border-top: 3px solid white; |
| border-radius: 50%; |
| animation: loadingSpin 1s linear infinite; |
| margin-right: 12px; |
| } |
| |
| @keyframes loadingSpin { |
| 0% { |
| transform: rotate(0deg); |
| } |
| 100% { |
| transform: rotate(360deg); |
| } |
| } |
| |
| /* 提交提示样式 */ |
| .submit-tips { |
| margin: 20px auto 0; |
| color: #4a7c59; |
| font-size: 14px; |
| font-style: italic; |
| padding: 15px; |
| background: rgba(144, 238, 144, 0.1); |
| border-radius: 15px; |
| border: 1px solid rgba(144, 238, 144, 0.2); |
| font-family: 'Lora', serif; |
| line-height: 1.5; |
| position: relative; |
| overflow: hidden; |
| text-align: center; |
| max-width: 350px; |
| } |
| |
| .submit-tips::before { |
| content: ''; |
| position: absolute; |
| top: -2px; |
| left: -100%; |
| width: 100%; |
| height: calc(100% + 4px); |
| background: linear-gradient(90deg, |
| transparent 0%, |
| rgba(144, 238, 144, 0.2) 50%, |
| transparent 100%); |
| animation: tipShine 4s ease-in-out infinite; |
| } |
| |
| @keyframes tipShine { |
| 0%, 80%, 100% { |
| left: -100%; |
| } |
| 10%, 70% { |
| left: 100%; |
| } |
| } |
| |
| /* 响应式设计 */ |
| @media (max-width: 768px) { |
| .form-grid { |
| grid-template-columns: 1fr; |
| gap: 20px; |
| } |
| |
| .publish-form-advanced { |
| padding: 25px; |
| margin: 20px; |
| } |
| |
| .file-upload-area { |
| padding: 30px 20px; |
| } |
| |
| .upload-main-text { |
| font-size: 16px; |
| } |
| |
| .upload-sub-text { |
| font-size: 12px; |
| } |
| |
| .publish-submit-btn { |
| padding: 15px 35px; |
| font-size: 16px; |
| min-width: 160px; |
| } |
| |
| .form-submit-section { |
| padding: 20px; |
| margin-top: 30px; |
| } |
| } |