/* 足迹下方两个容器并排平分整行 */ .footprint-gradient-row { display: grid; grid-template-columns: 1fr 1fr; gap: 32rpx; width: 100%; margin: 32rpx auto; } .footprint-gradient-row .footprint-gradient-box { width: 100%; height: 332rpx; border-radius: 40rpx; margin: 0; } /* 足迹下方两个渐变圆角容器样式 */ .footprint-gradient-box { width: 100%; height: 332rpx; border-radius: 40rpx; margin: 0; } .footprint-gradient-yellow { background: linear-gradient(180deg, rgba(255, 255, 255, 0.31) 60%,#fff600 160%); } .footprint-gradient-blue { background: linear-gradient(110deg, #139dff 10%, #3137ea 50%, #3bc493 100%); } /* 足迹模块样式(完全复制 profile.wxss) */ .myfootprint{ margin: 30rpx 0; padding: 20rpx; border-radius: 20rpx; background: linear-gradient(135deg, #34a853 0%, #7b4397 50%, #4285f4 100%); position: relative; height: 200rpx; display: flex; align-items: center; justify-content: center; margin-top: 0; } /* 左上角:足迹标题 */ .footprint-title { position: absolute; top: 20rpx; left: 20rpx; font-size: 32rpx; font-weight: 600; color: #fff; z-index: 2; } /* 中间:地球图标 */ .footprint-earth { width: 560rpx; height: 120rpx; position: relative; top: 61%; left: 40%; transform: translate(-50%, -50%); z-index: 1; } /* 右下角:足迹信息白色 pill */ .footprint-badge { position: absolute; bottom: 20rpx; right: 20rpx; background: #fff; padding: 0 20rpx; border-radius: 10rpx; font-size: 24rpx; height:56rpx; line-height: 56rpx; z-index: 3; } .footprint-badge text { font-size: 24rpx; font-weight: bold; color: #000; } /* 好友详情页面样式 */ .friend-detail-container { min-height: 100vh; /* 渐变页面背景 - 从右下角往上,深变浅 */ background: radial-gradient(ellipse at right bottom, #1c3954 0%, #1d3c7c 40%, #193170 70%, rgba(25, 49, 112, 0.8) 100%); } /* 自定义导航栏已移除,使用系统导航栏 */ .profile-info{ margin-left: 20rpx; } /* 加载状态 */ .loading-container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 200px; } .loading-spinner { width: 30px; height: 30px; border: 3px solid #f3f3f3; border-top: 3px solid #007aff; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .loading-text { margin-top: 12px; font-size: 14px; color: #999; } /* 详情内容 */ .detail-content { height: 100vh; /* 系统导航下全屏滚动 */ padding: 12px 14px 24px 14px; box-sizing: border-box; /* 与页面保持一致的渐变背景 - 从右下角往上,深变浅 */ background: radial-gradient(ellipse at right bottom, #1c3954 0%, #1d3c7c 40%, #193170 70%, rgba(25, 49, 112, 0.8) 100%); } /* 统一头像区域为 profile 页的布局与尺寸 */ .profile-top { display: flex; align-items: center; position: relative; z-index: 1; } .avatar-container { width: 186rpx; height: 186rpx; position: relative; background-color: #fff; border-radius: 50%; border: 10rpx solid #193170; transition: all 0.3s ease; backdrop-filter: blur(20rpx); -webkit-backdrop-filter: blur(20rpx); margin-left: 46rpx; } .avatar-container:active { transform: scale(0.95); box-shadow: 0 8rpx 32rpx rgba(102, 126, 234, 0.4); } .avatar-image { width: 166rpx; height: 166rpx; object-fit: cover; border-radius: 50%; position: absolute; z-index: 1; } .avatar-decoration { position: absolute; top: 0; left: 15rpx; transform: translateX(-50%) rotate(-15deg); width: 70rpx; height: 70rpx; font-size: 56rpx; line-height: 70rpx; text-align: center; z-index: 3; display: flex; align-items: center; justify-content: center; text-shadow: 0 0 10rpx rgba(255, 215, 0, 0.8); filter: drop-shadow(0 2rpx 4rpx rgba(0, 0, 0, 0.3)); } .online-status.online { position: absolute; top: 20rpx; right: 5rpx; width: 32rpx; z-index: 2; height: 32rpx; background: #4CAF50; border: 3rpx solid #ffffff; border-radius: 50%; box-shadow: 0 0 0 4rpx rgba(76, 175, 80, 0.3); animation: pulse 2s infinite; } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(76,175,80,0.4); } 70% { box-shadow: 0 0 0 10rpx rgba(76,175,80,0); } 100% { box-shadow: 0 0 0 0 rgba(76,175,80,0); } } /* 信息卡片 */ .info-card { border-radius: 14px; } .basic-info { display: flex; margin-bottom: 14px; gap: 12px; } .avatar-section { position: relative; margin-right: 16px; } .friend-avatar { width: 74px; height: 74px; /* 改为圆形头像 */ border-radius: 50%; overflow: hidden; box-shadow: 0 2px 6px rgba(0,0,0,0.08); } .avatar-image { width: 100%; height: 100%; } .avatar-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg,#dadfe4,#cfd5db); display: flex; align-items: center; justify-content: center; border-radius: 50%; } .avatar-text { font-size: 32px; color: #999; font-weight: 500; } .member-badge { position: absolute; bottom: -4px; right: -4px; background: linear-gradient(45deg, #ff6b6b, #ffa500); border-radius: 8px; padding: 2px 6px; } .member-text { font-size: 10px; color: #fff; font-weight: 600; } .info-section { flex: 1; } .name-row { display: flex; align-items: center; margin-bottom: 8px; } .friend-name { font-size: 19px; font-weight: 600; color: #222; margin-right: 8px; } .gender-icon { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; } .gender-text { font-size: 12px; color: #fff; } .friend-id { font-size: 14px; color: #999; margin-bottom: 4px; /* 与简介垂直间距更紧凑 */ display: block; /* 独占一行,避免与简介挤在同一行 */ line-height: 1.3; } .friend-bio { font-size: 13px; color: #555; line-height: 1.45; margin-bottom: 10px; display: block; /* 独占一行 */ white-space: normal; /* 确保可换行 */ } .friendship-info { display: flex; flex-direction: column; } .friendship-text { font-size: 13px; color: #007aff; margin-bottom: 4px; } .friendship-days { font-size: 12px; color: #007aff; } /* 操作按钮 */ .action-buttons { display: flex; gap: 10px; margin-top: 4px; } .action-btn { flex: 1; height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 14px; } .action-btn.primary { background: linear-gradient(135deg,#4d7dff,#246bff); box-shadow: 0 4px 10px rgba(36,107,255,0.25); } .action-btn.secondary { background: #f0f3f7; } .btn-icon { width: 20px; height: 20px; /* font-size: 15px; */ } .btn-text { font-size: 14px; font-weight: 600; margin-top: 30rpx; } .action-btn.primary .btn-text { color: #fff; } .action-btn.secondary .btn-text { color: #333; } /* 详细信息区域 */ .detail-sections { display: flex; flex-direction: column; gap: 12px; } .detail-section { background-color: #fff; border-radius: 14px; overflow: hidden; border: 1px solid #f1f2f5; box-shadow: 0 2px 8px rgba(0,0,0,0.04); } .section-header { padding: 14px 16px 6px 16px; } .section-title { font-size: 15px; font-weight: 600; color: #222; letter-spacing: .5px; } /* 信息项 */ .info-items { padding: 0 16px 14px 16px; } .info-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #f1f2f5; } .info-item:last-child { border-bottom: none; } .item-label { font-size: 14px; color: #666; } .item-value { font-size: 14px; color: #222; text-align: right; } /* 位置信息 */ .location-item { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 14px 16px; } .location-info { display: flex; align-items: center; flex: 1; } .location-icon { font-size: 16px; margin-right: 12px; } .location-details { display: flex; flex-direction: column; } .location-address { font-size: 14px; color: #222; margin-bottom: 4px; } .location-time { margin-left: 20px; font-size: 11px; color: #777; } .location-arrow { font-size: 16px; color: #c7c7cc; } /* 设置项 */ .setting-items { padding: 0 16px 12px 16px; } .setting-item { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid #f1f2f5; } .setting-item:last-child { border-bottom: none; } .setting-info { display: flex; align-items: center; flex: 1; } .setting-icon { font-size: 16px; margin-right: 12px; } .setting-label { font-size: 14px; color: #222; } .setting-arrow { font-size: 16px; color: #c7c7cc; } /* .setting-switch 已移除(消息免打扰/置顶聊天功能暂不提供) */ .detail-section.danger-section { background-color: #5c8bff; border-radius: 44rpx; height: 88rpx; display: flex; align-items: center; justify-content: center; overflow: hidden; border: none; box-shadow: none; } .danger-item { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; gap: 6px; } .danger-text { font-size: 14px; color: #ffffff; font-weight: 600; letter-spacing: .5px; } /* 底部安全区域 */ .safe-area-bottom { height: 34px; } .verified-tag-p { width: 32rpx; height: 40rpx; display: block; object-fit: contain; } .verify-btn-p { width: 32rpx; height: 40rpx; display: block; object-fit: contain; } /* profile-name-row 样式(仿照 profile.wxml) */ .profile-name-row { height: 100%; } .profile-name { font-size: 36rpx; white-space: normal; word-wrap: break-word; font-weight: 500; color: #ffffff; line-height: 1.2; } .gender-badge { font-size: 24rpx; margin-left: 8rpx; color: #ffffff; display: flex; align-items: center; justify-content: center; } .gender-badge .gender-icon { width: 32rpx; height: 32rpx; } .vip-crown { font-size: 24rpx; margin-left: 8rpx; color: #ffd700; } /* profile-id 样式(仿照 profile.wxml) */ .profile-id { display: flex; align-items: center; width: fit-content; } .id-label { font-size: 28rpx; color: #f3f3f3; font-weight: 400; margin-right: 12rpx; } .id-value-wrapper { display: inline-flex; align-items: center; padding: 10rpx 8rpx; margin-right: 12rpx; border-radius: 8rpx; transition: background-color 0.2s ease; } .id-value-wrapper:active { background-color: rgba(255, 255, 255, 0.1); } .id-value { font-size: 28rpx; color: #ffffff; font-weight: 400; font-family: 'SF Mono', 'Monaco', 'Consolas', monospace; } .verify-btn { color: white; font-size: 24rpx; font-weight: 400; padding: 6rpx 20rpx; margin-left: 16rpx; display: flex; align-items: center; justify-content: center; gap: 12rpx; line-height: 1; } .verified-tag { color: #fa6294; font-size: 28rpx; font-weight: 400; padding: 6rpx 20rpx; border-radius: 24rpx; margin-left: 16rpx; border: 1rpx solid #50a853; display: flex; align-items: center; justify-content: center; gap: 12rpx; line-height: 1; } .verify-text, .verified-text { font-size: 24rpx; color: inherit; } /* profile-bottom 样式(仿照 profile.wxml) */ .profile-bottom { background: linear-gradient(123deg, #8361FB 15.54%, #70AAFC 39.58%, #F0F8FB 62.43%, #F07BFF 90.28%); border-radius: 28rpx; gap: 32rpx; position: relative; z-index: 0; margin-top: -60rpx; } .action-buttons { display: flex; width: fit-content; margin-left: auto; justify-content: flex-end; gap: 4rpx; padding-top: 20rpx; padding-right: 20rpx; } .qr-code-btn { display: flex; align-items: center; gap: 12rpx; transition: all 0.2s ease; } .qr-code-icon { width: 40rpx; height: 40rpx; } .edit-btn { background: linear-gradient(124deg, #FF6460 1.58%, #EC42C8 34.28%, #435CFF 54%, #00D5FF 84.05%); border-radius: 30rpx; padding: 0 20rpx; display: flex; align-items: center; margin-left: 20rpx; transition: all 0.2s ease; height: 40rpx; } .edit-icon { width: 32rpx; height: 32rpx; margin-right: 12rpx; } .edit-text { font-size: 24rpx; font-weight: 400; color: black; } .setting-btn { padding: 0 20rpx; display: flex; align-items: center; transition: all 0.2s ease; margin-left: 20rpx; } .setting-icon { width: 40rpx; height: 40rpx; } .profile-location { background: rgba(43, 43, 43, 1); max-width: 80%; width: fit-content; display: flex; align-items: center; background-color: #36393e; border-radius: 24rpx; min-height: 48rpx; padding: 0 20rpx; margin-left: 32rpx; margin-top: -10rpx; overflow-x: auto; overflow-y: hidden; } .location-icon { width: 24rpx; height: 24rpx; margin-right: 12rpx; } .location-text-qr { color: #ffffff; font-size: 24rpx; white-space: nowrap; margin-right: 20rpx; overflow: hidden; text-overflow: ellipsis; max-width: 100%; } .location-arrow { font-size: 36rpx; color: #ffffff; margin-left: auto; font-weight: 300; } .profile-signature { height: 240rpx; max-height: 240rpx; display: flex; align-items: flex-start; padding: 24rpx; background: rgba(90, 90, 90, 0.548); border-radius: 24rpx; backdrop-filter: blur(20rpx); -webkit-backdrop-filter: blur(20rpx); border: 1rpx solid rgba(255, 255, 255, 0.2); box-shadow: 0 8rpx 12rpx rgba(0, 0, 0, 0.1), inset 0 0 20rpx rgba(255, 255, 255, 0.1); overflow-y: auto; overflow-x: hidden; margin: 22rpx 32rpx; } .signature-text { font-size: 30rpx; color: #000000; margin: auto; font-weight: 400; word-wrap: break-word; word-break: break-all; white-space: pre-wrap; width: 100%; } .profile-tabs { width: 100%; margin-bottom: 1rem; padding: 0 40rpx; } .tab-scroll { display: flex; flex-direction: row; white-space: nowrap; } .tab-item { margin-top: .5rem; font-size: 24rpx; line-height: 36rpx; height: 36rpx; display: flex; align-items: center; color: white; padding: 0 20rpx; border-radius: 20rpx; background: rgba(90, 90, 90, 0.548); transition: all 0.2s; margin-left: .3rem; margin-right: .3rem; } /* 详细信息上方操作按钮 */ .detail-action-buttons { display: flex; flex-direction: row; justify-content: space-between; align-items: center; margin: 32rpx 0; padding: 0 30rpx; gap: 30rpx; } .detail-action-btn-wrapper { flex: 1; height: 64rpx; border-radius: 32rpx; padding: 2rpx; background: linear-gradient(180deg, #4e4e4e 0%, #404040 100%); } .detail-action-btn { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; border-radius: 30rpx; background: linear-gradient(180deg, #000 0%, #232323 100%); } .detail-action-btn text { font-size: 28rpx; color: #ffffff; font-weight: 400; } /* ================== 暗色主题覆盖(社交-好友详情) ================== */ /* 说明:仅在已将页面背景设为深色后,统一卡片/文字暗化;若未来引入全局切换可抽离为公共 .theme-dark */ .friend-detail-container .detail-section { background-color: #1e1e1e; border: 1px solid #2a2a2a; box-shadow: 0 2px 8px rgba(0,0,0,0.6); } /* 渐变背景已改成深色,如需更低明度可再调:#1a1a1a → #121212 */ /* 次级浅色按钮背景 */ .friend-detail-container .action-btn.secondary { background: #2a2a2a; } .friend-detail-container .action-btn.secondary .btn-text { color: #e0e0e0; } /* 信息分区的分隔线颜色调整 */ .friend-detail-container .info-item, .friend-detail-container .setting-item { border-bottom: 1px solid #2a2a2a; } .friend-detail-container .info-item:last-child, .friend-detail-container .setting-item:last-child { border-bottom: none; } /* 文字颜色层级:主文案 #f5f5f5;次级 #b0b0b0;弱化 #777 → #6b6b6b */ .friend-detail-container .friend-name, .friend-detail-container .section-title, .friend-detail-container .item-value, .friend-detail-container .location-address, .friend-detail-container .setting-label, .friend-detail-container .danger-text { color: #ffffff; } .friend-detail-container .friend-bio, .friend-detail-container .item-label, .friend-detail-container .friendship-text, .friend-detail-container .friendship-days, .friend-detail-container .friend-id, .friend-detail-container .location-time { color: #b0b0b0; } /* 危险区背景保持融合 */ .friend-detail-container .detail-section.danger-section { background-color: #5c8bff; border-radius: 44rpx; height: 88rpx; border: none; box-shadow: none; } /* 占位/淡色背景统一 */ .friend-detail-container .avatar-placeholder { background: #fff; } /* 提示、加载文字 */ .friend-detail-container .loading-text { color: #888; }