/* ── 发布页:Vital 风格工具页 ── 浅灰底 + 白卡输入区,选中态统一为强调黑胶囊 */ .post-page { min-height: 100vh; background: #f1f2f6; display: flex; flex-direction: column; } /* 顶部:高度和右侧 padding 由 JS 动态设置,避让系统胶囊按钮 */ .post-header { display: flex; align-items: center; justify-content: space-between; padding-left: 28rpx; background: #ffffff; border-radius: 0 0 40rpx 40rpx; box-shadow: 0 8rpx 24rpx rgba(27, 27, 32, 0.04); flex-shrink: 0; box-sizing: border-box; } .cancel-btn { font-size: 28rpx; font-weight: 600; color: #6e7280; padding: 10rpx; } .header-title { font-size: 32rpx; font-weight: 700; color: #1b1b20; } /* 发布:强调黑胶囊 */ .submit-btn { background: #2b2b30; color: #fff; border-radius: 999rpx; padding: 14rpx 34rpx; font-size: 26rpx; font-weight: 600; box-shadow: 0 12rpx 28rpx rgba(43, 43, 48, 0.24); } .submit-disabled { background: #e7e9ef; color: #b9bdc6; box-shadow: none; } /* 滚动区 */ .post-scroll { flex: 1; } .post-body { padding: 24rpx 28rpx; } /* 图片上传 */ .upload-section { margin-bottom: 28rpx; } .upload-placeholder { width: 100%; height: 320rpx; background: #ffffff; border: 3rpx dashed rgba(27, 27, 32, 0.14); border-radius: 48rpx; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18rpx; } .upload-icon { font-size: 56rpx; color: var(--purple); background: rgba(139, 124, 246, 0.10); border-radius: 28rpx; padding: 18rpx; } .upload-hint { font-size: 28rpx; font-weight: 600; color: #1b1b20; } .upload-sub { font-size: 22rpx; color: #b9bdc6; } /* 图片网格 */ .image-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12rpx; } .image-item { aspect-ratio: 1; border-radius: 20rpx; overflow: hidden; position: relative; } .img-preview { width: 100%; height: 100%; background: #eef0f5; } .img-remove { position: absolute; top: 6rpx; right: 6rpx; width: 44rpx; height: 44rpx; border-radius: 50%; background: rgba(27, 27, 32, 0.65); color: #fff; font-size: 28rpx; display: flex; align-items: center; justify-content: center; font-weight: 600; } .img-uploading { position: absolute; inset: 0; background: rgba(255, 255, 255, 0.7); display: flex; align-items: center; justify-content: center; } .upload-spinner { width: 40rpx; height: 40rpx; border: 4rpx solid rgba(139, 124, 246, 0.2); border-top-color: var(--purple); border-radius: 50%; animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .image-add { aspect-ratio: 1; border-radius: 20rpx; background: #ffffff; border: 3rpx dashed rgba(27, 27, 32, 0.14); display: flex; align-items: center; justify-content: center; } .add-plus { font-size: 60rpx; color: #b9bdc6; font-weight: 200; } /* 文字输入:白卡 */ .content-input { width: 100%; min-height: 160rpx; background: #ffffff; border-radius: 40rpx; padding: 24rpx 28rpx; font-size: 30rpx; color: #1b1b20; font-family: "PingFang SC", sans-serif; line-height: 1.6; box-shadow: var(--shadow-soft); margin-bottom: 8rpx; } .input-placeholder { color: #b9bdc6; } .word-count { text-align: right; font-size: 22rpx; color: #b9bdc6; margin-bottom: 28rpx; font-variant-numeric: tabular-nums; } /* 通用 section */ .section-title { font-size: 22rpx; font-weight: 600; color: #b9bdc6; letter-spacing: 0.6rpx; margin-bottom: 16rpx; } .tag-row { display: flex; gap: 16rpx; flex-wrap: wrap; margin-bottom: 28rpx; align-items: center; } .tag-pill { display: flex; align-items: center; gap: 10rpx; background: #ffffff; border-radius: 999rpx; padding: 16rpx 26rpx; font-size: 24rpx; font-weight: 600; color: #6e7280; } /* 选中:强调黑 */ .tag-selected { background: #2b2b30; color: #fff; box-shadow: 0 12rpx 28rpx rgba(43, 43, 48, 0.24); } .tag-remove { width: 44rpx; height: 44rpx; border-radius: 50%; background: rgba(139, 124, 246, 0.12); color: #7563e0; display: flex; align-items: center; justify-content: center; font-size: 28rpx; font-weight: 600; } /* 话题 */ .hashtag-wrap { margin-bottom: 28rpx; } .hashtag-input-row { display: flex; gap: 14rpx; align-items: center; } .hashtag-input { flex: 1; height: 72rpx; background: #ffffff; border-radius: 999rpx; padding: 0 24rpx; font-size: 26rpx; color: #1b1b20; } .hashtag-add-btn { background: #ffffff; border-radius: 999rpx; padding: 14rpx 28rpx; font-size: 26rpx; font-weight: 600; color: #1b1b20; box-shadow: var(--shadow-soft); } .hashtag-chip { display: inline-flex; align-items: center; gap: 8rpx; font-size: 24rpx; font-weight: 600; color: #7563e0; background: rgba(139, 124, 246, 0.12); border-radius: 999rpx; padding: 8rpx 16rpx; } .chip-remove { font-size: 26rpx; color: #7563e0; font-weight: 600; } .hot-tags { display: flex; flex-wrap: wrap; gap: 10rpx; align-items: center; margin-top: 14rpx; } .hot-tags-label { font-size: 22rpx; color: #b9bdc6; } .hot-tag { font-size: 22rpx; color: #6e7280; background: #ffffff; border-radius: 999rpx; padding: 6rpx 16rpx; } /* 心情 */ .mood-row { display: flex; gap: 14rpx; flex-wrap: wrap; margin-bottom: 28rpx; } .mood-pill { background: #ffffff; border-radius: 999rpx; padding: 16rpx 28rpx; font-size: 24rpx; font-weight: 600; color: #6e7280; transition: transform 0.18s ease; } .mood-pill:active { transform: scale(0.95); } /* 选中:强调黑(与标签选中态一致) */ .mood-on { background: #2b2b30; color: #fff; box-shadow: 0 12rpx 28rpx rgba(43, 43, 48, 0.24); }