You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
.forum-page { min-height: 100vh; background-color: #f8f8f8; position: relative;}
/* 帖子详情容器 */.post-detail-container { height: 100vh; box-sizing: border-box;}
/* 帖子主体 */.post-main { background-color: white; padding: 40rpx 30rpx; margin-bottom: 20rpx;}
.post-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30rpx;}
.user-info { display: flex; align-items: center;}
.avatar { width: 80rpx; height: 80rpx; border-radius: 50%; margin-right: 20rpx;}
.user-detail { display: flex; flex-direction: column;}
.username { font-size: 32rpx; font-weight: bold; color: #333; margin-bottom: 8rpx;}
.post-time { font-size: 26rpx; color: #999;}
.post-status .solved-badge { background-color: #07c160; color: white; font-size: 24rpx; padding: 8rpx 16rpx; border-radius: 20rpx;}
/* 帖子内容 */.post-content { margin-bottom: 30rpx;}
.post-title { font-size: 36rpx; font-weight: bold; color: #333; margin-bottom: 24rpx; line-height: 1.4;}
.post-desc { font-size: 30rpx; color: #555; line-height: 1.6; margin-bottom: 30rpx;}
/* 帖子图片 */.post-images { margin: 30rpx 0;}
.images-container { display: flex; flex-wrap: wrap; gap: 20rpx;}
.post-image { width: 220rpx; height: 220rpx; border-radius: 12rpx; flex-shrink: 0;}
/* 回复区域 */.replies-section { background-color: white; border-radius: 20rpx 20rpx 0 0; padding: 40rpx 30rpx; margin: 0;}
.section-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30rpx; padding-bottom: 20rpx; border-bottom: 2rpx solid #f0f0f0;}
.title-text { font-size: 34rpx; font-weight: bold; color: #333;}
.reply-count { font-size: 28rpx; color: #07c160; font-weight: bold;}
/* 回复列表 */.reply-list { margin-top: 10rpx;}
.reply-item { padding: 30rpx 0; border-bottom: 1rpx solid #f8f8f8;}
.reply-item:last-child { border-bottom: none;}
.reply-user { display: flex; align-items: center; margin-bottom: 20rpx;}
.reply-avatar { width: 64rpx; height: 64rpx; border-radius: 50%; margin-right: 20rpx;}
.reply-user-info { display: flex; flex-direction: column;}
.reply-username { font-size: 28rpx; color: #333; margin-bottom: 6rpx; font-weight: 500;}
.reply-time { font-size: 24rpx; color: #999;}
.reply-content { font-size: 30rpx; color: #444; line-height: 1.5; margin-left: 84rpx; margin-bottom: 20rpx;}
/* 回复操作 */.reply-actions { display: flex; align-items: center; margin-left: 84rpx; margin-top: 20rpx; gap: 40rpx;}
.reply-action { display: flex; align-items: center; color: #999; font-size: 24rpx; padding: 4rpx 8rpx;}
.reply-action-icon { width: 28rpx; height: 28rpx; margin-right: 8rpx;}
.reply-action-text { font-size: 24rpx; color: #666;}
/* 评论列表 */.comment-list { margin-left: 84rpx; margin-top: 20rpx; background-color: #fafafa; border-radius: 12rpx; padding: 20rpx;}
.comment-item { padding: 20rpx 0;}
.comment-item:not(:last-child) { border-bottom: 1rpx solid #eee;}
.comment-user { display: flex; align-items: center; margin-bottom: 12rpx;}
.comment-avatar { width: 48rpx; height: 48rpx; border-radius: 50%; margin-right: 15rpx;}
.comment-user-info { display: flex; flex-direction: column;}
.comment-username { font-size: 26rpx; color: #666; margin-bottom: 4rpx;}
.comment-time { font-size: 22rpx; color: #999;}
.comment-content { font-size: 28rpx; color: #555; line-height: 1.4; margin-left: 63rpx;}
.comment-to { color: #07c160; font-weight: 500;}
/* 评论操作 */.comment-actions { margin-left: 63rpx; margin-top: 12rpx;}
.comment-action { font-size: 24rpx; color: #999; padding: 4rpx 8rpx;}
/* 空回复状态 */.empty-replies { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 100rpx 0; text-align: center;}
.empty-reply-text { font-size: 28rpx; color: #999;}
.bottom-placeholder { height: 160rpx;}
/* 底部输入栏 */.bottom-input-container { position: fixed; bottom: 0; left: 0; right: 0; background-color: white; border-top: 1rpx solid #eee; padding: 20rpx 30rpx; box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.05); z-index: 100; transition: transform 0.3s ease;}
.input-wrapper { display: flex; align-items: center; gap: 20rpx;}
.reply-input { flex: 1; background-color: #f8f8f8; border-radius: 40rpx; padding: 10rpx 30rpx; font-size: 30rpx;}
.send-btn { background-color: #07c160; color: white; font-size: 28rpx; padding: 20rpx 40rpx; line-height: normal; border-radius: 40rpx; margin: 0; min-width: 120rpx; transition: background-color 0.3s;}
.send-btn[disabled] { background-color: #cccccc; color: white;}
/* 回复对象显示 */.reply-target { display: flex; justify-content: space-between; align-items: center; background-color: #f0f0f0; border-radius: 20rpx; padding: 16rpx 24rpx; margin-top: 15rpx; animation: slideIn 0.3s ease;}
@keyframes slideIn { from { opacity: 0; transform: translateY(-10rpx); } to { opacity: 1; transform: translateY(0); }}
.target-text { font-size: 26rpx; color: #07c160; font-weight: 500;}
.clear-target { font-size: 36rpx; color: #999; padding: 0 10rpx 4rpx 20rpx;}
/* 图片预览 */.preview-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.95); display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 1000;}
.preview-swiper { width: 100%; height: 70vh;}
.preview-image { width: 100%; height: 100%;}
.preview-indicator { position: absolute; bottom: 60rpx; color: white; font-size: 28rpx; background-color: rgba(0, 0, 0, 0.5); padding: 10rpx 24rpx; border-radius: 20rpx;}
/* 加载提示 */.loading { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60rpx 0; color: #999; font-size: 28rpx;}
.loading-icon { width: 60rpx; height: 60rpx; margin-bottom: 20rpx; animation: rotate 1s linear infinite;}
@keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }}
/* 移除按钮边框 */button::after { border: none;}
/* 滚动条样式 */::-webkit-scrollbar { width: 0; height: 0; color: transparent;}
|