/* 页面背景 */ page { background-color: #000000; margin: 0; padding: 0; } /* 容器样式 */ .circle-container { background-color: #0f0f12; color: #ffffff; height: 100vh; display: flex; flex-direction: column; overflow: hidden; } /* 滚动视图 */ .scroll-view { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; } /* 单条动态 */ .feed-item { padding: 20rpx 0; display: flex; flex-direction: column; } /* 动态框框 */ .feed-item-box { padding: 15rpx; margin-bottom: 20rpx; box-sizing: border-box; border: 1rpx solid #242429; transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease; } .feed-item-box.feed-highlight { border-color: #5da0ff; box-shadow: 0 0 32rpx rgba(93, 160, 255, 0.35); transform: translateY(-6rpx); } /* 用户信息 */ .user-info { display: flex; align-items: center; margin-bottom: 15rpx; } .avatar { width: 80rpx; height: 80rpx; border-radius: 50%; margin-right: 15rpx; object-fit: cover; } .user-detail { display: flex; flex-direction: column; justify-content: center; } .username { font-size: 32rpx; margin-bottom: 5rpx; font-weight: 500; } .post-time { font-size: 22rpx; color: #888888; letter-spacing: 1rpx; } /* 点赞和评论功能容器 */ .feed-actions { display: flex; align-items: center; gap: 40rpx; padding: 15rpx 0; margin-bottom: 15rpx; } .action-item { display: flex; align-items: center; gap: 10rpx; cursor: pointer; padding: 8rpx 0; } .action-button-text { font-size: 28rpx; color: #ffffff; font-weight: 500; } .text-red{ font-size: 28rpx; color: #ff6460; font-weight: 500; } .like-icon { width: 48rpx; height: 48rpx; object-fit: contain; } .action-item:active .action-button-text { opacity: 0.7; transform: scale(0.98); } .action-count { font-size: 24rpx; color: #aaaaaa; font-weight: 400; } .action-count-red { font-size: 24rpx; color: #ff6460; font-weight: 400; } /* 内容样式 */ .feed-content { font-size: 28rpx; margin-top: 15rpx; line-height: 40rpx; } .feed-content text { word-break: break-all !important; word-wrap: break-word !important; overflow-wrap: break-word !important; white-space: pre-wrap !important; display: block; width: 100%; overflow: hidden; -webkit-hyphens: auto !important; hyphens: auto !important; } /* 评论显示区域 */ .feed-comments-container { margin-top: 20rpx; margin-bottom: 20rpx; padding: 20rpx; background-color: #1a1a1d; border-radius: 16rpx; display: flex; flex-direction: column; gap: 16rpx; max-height: 500rpx; box-sizing: border-box; overflow: hidden; } .feed-comment-item { display: flex; flex-direction: column; } .feed-comment-content { display: flex; flex-direction: row; align-items: flex-start; flex-wrap: wrap; line-height: 36rpx; word-wrap: break-word; word-break: break-word; } .feed-comment-name { font-size: 26rpx; color: #5da0ff; font-weight: 500; flex-shrink: 0; } .feed-comment-separator { font-size: 26rpx; color: #888888; margin: 0 8rpx; flex-shrink: 0; } .feed-comment-text { font-size: 26rpx; color: #cccccc; flex: 1; min-width: 0; word-wrap: break-word; word-break: break-word; overflow-wrap: break-word; white-space: pre-wrap; } .feed-comment-time { font-size: 26rpx; color: #888888; margin-left: 8rpx; flex-shrink: 0; } .feed-comment-reply { font-size: 26rpx; color: #5c5c5c; margin-left: 16rpx; flex-shrink: 0; cursor: pointer; } .feed-comment-delete { font-size: 26rpx; color: #757575; margin-left: 16rpx; flex-shrink: 0; cursor: pointer; padding: 4rpx 8rpx; display: inline-block; } .expand-comments-btn { margin-top: 12rpx; padding: 12rpx 0; display: flex; align-items: center; justify-content: center; cursor: pointer; } .expand-comments-btn:active { opacity: 0.7; } .expand-comments-text { font-size: 26rpx; color: #949494; } /* 回复相关样式 */ .feed-replies-container { margin-top: 16rpx; padding-left: 40rpx; padding-top: 8rpx; border-left: 2rpx solid #242429; display: flex; flex-direction: column; gap: 12rpx; width: 100%; box-sizing: border-box; } .expand-replies-btn { margin-top: 8rpx; padding: 12rpx 0; display: flex; align-items: center; justify-content: center; cursor: pointer; } .expand-replies-btn:active { opacity: 0.7; } .expand-replies-text { font-size: 26rpx; color: #949494; } /* 上划查看更多回复提示 */ .scroll-more-hint { margin-top: 8rpx; margin-bottom: 4rpx; padding: 8rpx 0; display: flex; align-items: center; justify-content: center; } .scroll-more-text { font-size: 24rpx; color: #666666; opacity: 0.8; } .feed-reply-item { display: flex; flex-direction: column; } .feed-reply-content { display: flex; flex-direction: column; gap: 8rpx; } .feed-reply-header { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; line-height: 36rpx; } .feed-reply-body { display: flex; flex-direction: row; align-items: flex-start; line-height: 36rpx; word-wrap: break-word; word-break: break-word; width: 100%; } .feed-reply-body .feed-comment-text { word-wrap: break-word; word-break: break-word; overflow-wrap: break-word; white-space: pre-wrap; width: 100%; } .feed-reply-footer { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; line-height: 36rpx; gap: 8rpx; margin-top: 4rpx; } .feed-reply-name { font-size: 26rpx; color: #5da0ff; font-weight: 500; flex-shrink: 0; } .feed-reply-to { font-size: 26rpx; color: #888888; margin: 0 4rpx; flex-shrink: 0; } .feed-reply-to-name { font-size: 26rpx; color: #5da0ff; font-weight: 500; flex-shrink: 0; } .feed-reply-text-wrapper { flex: 1; min-width: 0; word-wrap: break-word; word-break: break-word; overflow-wrap: break-word; white-space: pre-wrap; } .feed-reply-footer { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; margin-top: 8rpx; line-height: 36rpx; } .reply-input-container { margin-top: 16rpx; padding: 16rpx; background-color: #242429; border-radius: 12rpx; display: flex; align-items: center; gap: 16rpx; } .reply-input { flex: 1; background-color: #1a1a1d; border-radius: 16rpx; padding: 16rpx 20rpx; font-size: 26rpx; color: #ffffff; min-height: 60rpx; box-sizing: border-box; } .reply-send-btn { padding: 16rpx 32rpx; background-color: #5da0ff; border-radius: 16rpx; min-width: 100rpx; display: flex; align-items: center; justify-content: center; } .reply-send-text { font-size: 26rpx; color: #ffffff; font-weight: 500; } .reply-send-btn:active { opacity: 0.8; transform: scale(0.98); } .reply-send-btn-disabled { opacity: 0.6; pointer-events: none; } .reply-send-btn-disabled:active { opacity: 0.6; transform: scale(1); } /* 位置信息 */ .location-info { font-size: 24rpx; color: #aaaaaa; margin-bottom: 15rpx; display: flex; align-items: center; } /* 图片样式 */ .feed-images { display: block; margin-bottom: 10rpx; background-color: #242424; border-radius: 10rpx; min-height: 80rpx; overflow: hidden; } .feed-images.multi-img { display: flex; flex-wrap: wrap; gap: 10rpx; align-items: flex-start; } /* 图片包装容器 */ .feed-img-wrapper { width: 100%; max-height: 400rpx; overflow: hidden; border-radius: 8rpx; margin-bottom: 10rpx; position: relative; display: flex; align-items: center; justify-content: center; background-color: #1a1a1a; } /* 图片加载背景 */ .image-loading { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(90deg, #1a1a1a 25%, #242424 50%, #1a1a1a 75%); background-size: 200% 100%; animation: loading-shimmer 1.5s ease-in-out infinite; z-index: 1; border-radius: 8rpx; } /* Loading 动画 */ @keyframes loading-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } /* Loading 旋转图标 */ .loading-spinner { width: 60rpx; height: 60rpx; border: 4rpx solid rgba(255, 255, 255, 0.1); border-top-color: rgba(255, 255, 255, 0.6); border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .feed-img { width: 100%; max-height: 400rpx; border-radius: 8rpx; display: block; box-sizing: border-box; /* 使用 aspectFill 模式,超出部分裁剪,显示中间内容 */ object-fit: cover; object-position: center; opacity: 0; transition: opacity 0.3s ease-in-out; } .feed-img.loaded { opacity: 1; z-index: 2; } /* 多图 */ .feed-images.multi-img .feed-img-wrapper { width: calc(33.33% - 7rpx); max-width: calc(33.33% - 7rpx); max-height: 400rpx; margin-bottom: 0; } /* 加载提示 */ .loading, .no-more { text-align: center; padding: 20rpx 0; color: #aaaaaa; font-size: 28rpx; } /* 空列表提示 */ .no-more:empty + .no-more { margin-top: 40rpx; } /* 标题容器 */ .circle-title-container { display: flex; flex-direction: column; padding: 0 35rpx 20rpx 35rpx; box-sizing: border-box; } .title-row { display: flex; flex-direction: row; justify-content: space-between; align-items: center; margin-bottom: 20rpx; margin-top: 40rpx; } .circle-title-text { font-size: 40rpx; color: #ffffff; font-weight: 500; height: 50rpx; line-height: 50rpx; } /* 头像滚动容器 */ .avatar-scroll { width: 100%; white-space: nowrap; margin-top: 10rpx; } .avatar-list { display: flex; align-items: center; gap: 30rpx; padding: 10rpx 0; } /* 头像项 */ .avatar-item { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; } /* 渐变色圆形边框 */ .avatar-border { width: 160rpx; height: 160rpx; border-radius: 50%; padding: 4rpx; background: linear-gradient(135deg, #ff6460 0%, #ec42c8 33%, #435cff 66%, #00d5ff 100%); position: relative; display: flex; align-items: center; justify-content: center; box-sizing: border-box; } /* 头像图片 */ .avatar-image { width: 152rpx; height: 152rpx; border-radius: 50%; background-color: #000000; overflow: hidden; display: block; } /* 用户名 */ .avatar-name { font-size: 24rpx; color: #ffffff; margin-top: 10rpx; max-width: 160rpx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; } /* 添加底部空间 */ .main-content { padding: 20rpx 30rpx; } /* 按钮容器 */ .floating-button-container { position: absolute; bottom: 260rpx; right: 20rpx; z-index: 10; display: flex; justify-content: flex-end; padding: 10rpx; } /* 页面标题样式 */ .page-title { background-color: #000000; padding: 20rpx 0; width: 100%; } .title-text { color: #ffffff; font-size: 36rpx; font-weight: bold; text-align: left; display: block; margin-left: 0rpx; padding-left: 42rpx; } /* 发动态按钮样式*/ .post-button { display: flex; align-items: center; justify-content: space-between; background-color: #141417; border: 1rpx solid #404047; border-radius: 18rpx; padding: 15rpx 10rpx; box-sizing: border-box; margin-bottom: 20rpx; height: 80rpx; } /* 发布动态相机按钮样式 */ .post-camera-icon { width: 48rpx; height: 48rpx; object-fit: contain; opacity: 1; margin-right: 10rpx; } .post-button-text { color: #ffffff; font-size: 28rpx; font-weight: 500; margin-left: 20rpx; } /* 去除按钮默认伪元素样式 */ .publish-button::after { border: none; } /* 完全取消点击反馈 */ .publish-button:active { transform: scale(1) !important; opacity: 1 !important; background: none !important; } /* 暂无动态提示样式 */ .empty-tip { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #aaaaaa; font-size: 32rpx; z-index: 20; background-color: rgba(0, 0, 0, 0.7); padding: 20rpx 40rpx; border-radius: 10rpx; } /* 返回按钮容器 */ .back-button-container { position: absolute; top: 30rpx; left: 30rpx; z-index: 999; } /* 返回按钮样式 */ .back-button { background-color: rgba(255, 255, 255, 0.8); border: 1rpx solid #e0e0e0; border-radius: 50%; width: 80rpx; height: 80rpx; display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1); } /* 返回按钮图标 */ .back-icon { color: #333333; font-size: 40rpx; font-weight: bold; } /* 位置图标 */ .loca-icon { width: 36rpx; height: 36rpx; margin-right: 10rpx; margin-left: 5px; flex-shrink: 0; margin-top: 0; } /* 评论弹窗 */ .comment-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; margin-bottom:130px; background-color: rgba(0, 0, 0, 0.6); z-index: 10000; display: flex; align-items: flex-end; padding-bottom: 280rpx; } .comment-modal-content { width: 100%; background-color: #141417; border-top-left-radius: 30rpx; border-top-right-radius: 30rpx; display: flex; flex-direction: column; max-height: 80vh; box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.3); } /* 弹窗头部 */ .comment-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 30rpx; border-bottom: 1rpx solid #242429; } .comment-modal-title { font-size: 36rpx; font-weight: 600; color: #ffffff; } .comment-modal-close { width: 60rpx; height: 60rpx; display: flex; align-items: center; justify-content: center; border-radius: 50%; background-color: #242429; } .close-icon { font-size: 48rpx; color: #aaaaaa; line-height: 1; } /* 输入区域 */ .comment-input-area { display: flex; align-items: center; padding: 20rpx 30rpx; border-bottom: 1rpx solid #242429; background-color: #1a1a1d; gap: 20rpx; } .comment-input { flex: 1; background-color: #242429; border-radius: 20rpx; padding: 20rpx 24rpx; font-size: 28rpx; color: #ffffff; min-height: 80rpx; box-sizing: border-box; } .comment-send-btn { padding: 20rpx 40rpx; background-color: #5da0ff; border-radius: 20rpx; min-width: 120rpx; display: flex; align-items: center; justify-content: center; } .send-btn-text { font-size: 28rpx; color: #ffffff; font-weight: 500; } .comment-send-btn:active { opacity: 0.8; transform: scale(0.98); } /* 评论列表 */ .comment-list { flex: 1; padding: 20rpx 30rpx; max-height: calc(80vh - 280rpx); min-height: 400rpx; } .comment-item { margin-bottom: 30rpx; padding-bottom: 30rpx; border-bottom: 1rpx solid #242429; } .comment-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .comment-user-info { display: flex; align-items: flex-start; gap: 20rpx; } .comment-user-avatar { width: 64rpx; height: 64rpx; border-radius: 50%; flex-shrink: 0; } .comment-content-wrapper { flex: 1; display: flex; flex-direction: column; gap: 10rpx; } .comment-name { font-size: 28rpx; font-weight: 500; color: #ffffff; } .comment-text { font-size: 28rpx; color: #cccccc; line-height: 40rpx; word-break: break-all; } .comment-time { font-size: 24rpx; color: #888888; } .no-comments { text-align: center; padding: 100rpx 0; color: #888888; font-size: 28rpx; }