464 lines
7.3 KiB
Text
464 lines
7.3 KiB
Text
|
|
/* 用户资料页面样式 */
|
||
|
|
|
||
|
|
/* 基础样式重置 */
|
||
|
|
page {
|
||
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||
|
|
background-color: #f5f5f5;
|
||
|
|
color: #333;
|
||
|
|
overflow-x: hidden;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 顶部导航栏 */
|
||
|
|
.nav-bar {
|
||
|
|
position: fixed;
|
||
|
|
top: 0;
|
||
|
|
left: 0;
|
||
|
|
right: 0;
|
||
|
|
background-color: rgba(255, 255, 255, 0.95);
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: space-between;
|
||
|
|
z-index: 100;
|
||
|
|
box-shadow: 0 1px 10px rgba(0, 0, 0, 0.05);
|
||
|
|
}
|
||
|
|
|
||
|
|
.nav-left, .nav-right {
|
||
|
|
width: 44px;
|
||
|
|
height: 44px;
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
}
|
||
|
|
|
||
|
|
.back-icon {
|
||
|
|
width: 20px;
|
||
|
|
height: 20px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.nav-title {
|
||
|
|
font-size: 18px;
|
||
|
|
font-weight: 600;
|
||
|
|
color: #333;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 加载状态 */
|
||
|
|
.loading-container {
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
padding: 100rpx 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.loading-img {
|
||
|
|
width: 80rpx;
|
||
|
|
height: 80rpx;
|
||
|
|
animation: rotate 1s linear infinite;
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes rotate {
|
||
|
|
from {
|
||
|
|
transform: rotate(0deg);
|
||
|
|
}
|
||
|
|
to {
|
||
|
|
transform: rotate(360deg);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.loading-text {
|
||
|
|
margin-top: 20rpx;
|
||
|
|
font-size: 28rpx;
|
||
|
|
color: #999;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 错误状态 */
|
||
|
|
.error-container {
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
padding: 100rpx 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.error-img {
|
||
|
|
width: 80rpx;
|
||
|
|
height: 80rpx;
|
||
|
|
opacity: 0.6;
|
||
|
|
}
|
||
|
|
|
||
|
|
.error-text {
|
||
|
|
margin-top: 20rpx;
|
||
|
|
font-size: 28rpx;
|
||
|
|
color: #999;
|
||
|
|
text-align: center;
|
||
|
|
padding: 0 40rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.retry-btn {
|
||
|
|
margin-top: 40rpx;
|
||
|
|
background-color: #1aad19;
|
||
|
|
color: #fff;
|
||
|
|
font-size: 28rpx;
|
||
|
|
padding: 0 60rpx;
|
||
|
|
line-height: 70rpx;
|
||
|
|
border-radius: 35rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.retry-btn:active {
|
||
|
|
opacity: 0.8;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 封面区域 */
|
||
|
|
.cover-section {
|
||
|
|
width: 100%;
|
||
|
|
height: 400rpx;
|
||
|
|
background-color: #f0f0f0;
|
||
|
|
overflow: hidden;
|
||
|
|
position: relative;
|
||
|
|
}
|
||
|
|
|
||
|
|
.cover-image {
|
||
|
|
width: 100%;
|
||
|
|
height: 100%;
|
||
|
|
object-fit: cover;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 用户基本信息区域 */
|
||
|
|
.user-info-section {
|
||
|
|
background-color: #fff;
|
||
|
|
padding: 20rpx 30rpx 40rpx;
|
||
|
|
margin-top: -80rpx;
|
||
|
|
border-radius: 20rpx 20rpx 0 0;
|
||
|
|
position: relative;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 头像和昵称信息 */
|
||
|
|
.avatar-info {
|
||
|
|
display: flex;
|
||
|
|
align-items: flex-start;
|
||
|
|
padding-bottom: 20rpx;
|
||
|
|
border-bottom: 1px solid #f0f0f0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.user-avatar {
|
||
|
|
width: 160rpx;
|
||
|
|
height: 160rpx;
|
||
|
|
border-radius: 50%;
|
||
|
|
border: 4rpx solid #fff;
|
||
|
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
||
|
|
}
|
||
|
|
|
||
|
|
.user-basic-info {
|
||
|
|
margin-left: 30rpx;
|
||
|
|
flex: 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
.user-nickname {
|
||
|
|
font-size: 40rpx;
|
||
|
|
font-weight: 700;
|
||
|
|
color: #333;
|
||
|
|
display: block;
|
||
|
|
margin-bottom: 10rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.user-id {
|
||
|
|
font-size: 28rpx;
|
||
|
|
color: #999;
|
||
|
|
display: block;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 操作按钮区域 */
|
||
|
|
.action-buttons {
|
||
|
|
display: flex;
|
||
|
|
justify-content: flex-end;
|
||
|
|
margin-top: 20rpx;
|
||
|
|
gap: 20rpx;
|
||
|
|
padding-top: 20rpx;
|
||
|
|
position: absolute;
|
||
|
|
z-index: 3;
|
||
|
|
right: 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.message-btn, .add-friend-btn, .follow-btn, .edit-btn {
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
min-width: 180rpx;
|
||
|
|
height: 70rpx;
|
||
|
|
font-size: 28rpx;
|
||
|
|
line-height: 70rpx;
|
||
|
|
padding: 0 30rpx;
|
||
|
|
border-radius: 35rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.message-btn {
|
||
|
|
background-color: #1aad19;
|
||
|
|
color: #fff;
|
||
|
|
border: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
.add-friend-btn {
|
||
|
|
background-color: #1aad19;
|
||
|
|
color: #fff;
|
||
|
|
border: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
.follow-btn {
|
||
|
|
background-color: #f0f0f0;
|
||
|
|
color: #666;
|
||
|
|
border: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
.edit-btn {
|
||
|
|
background-color: #1aad19;
|
||
|
|
color: #fff;
|
||
|
|
border: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
.btn-icon {
|
||
|
|
width: 30rpx;
|
||
|
|
height: 30rpx;
|
||
|
|
margin-right: 8rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.btn-text {
|
||
|
|
font-size: 28rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 用户个人简介 */
|
||
|
|
.user-intro {
|
||
|
|
margin-top: 30rpx;
|
||
|
|
padding: 20rpx;
|
||
|
|
background-color: #f9f9f9;
|
||
|
|
border-radius: 10rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.intro-text {
|
||
|
|
font-size: 32rpx;
|
||
|
|
line-height: 48rpx;
|
||
|
|
color: #666;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 用户基本信息详情 */
|
||
|
|
.user-details {
|
||
|
|
margin-top: 30rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.detail-item {
|
||
|
|
display: flex;
|
||
|
|
justify-content: space-between;
|
||
|
|
align-items: center;
|
||
|
|
padding: 20rpx 0;
|
||
|
|
border-bottom: 1px solid #f0f0f0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.detail-item:last-child {
|
||
|
|
border-bottom: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
.detail-label {
|
||
|
|
font-size: 32rpx;
|
||
|
|
color: #666;
|
||
|
|
}
|
||
|
|
|
||
|
|
.detail-value {
|
||
|
|
font-size: 32rpx;
|
||
|
|
color: #333;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 统计数据区域 */
|
||
|
|
.stats-section {
|
||
|
|
display: flex;
|
||
|
|
justify-content: space-around;
|
||
|
|
align-items: center;
|
||
|
|
background-color: #fff;
|
||
|
|
padding: 30rpx 0;
|
||
|
|
margin-top: 20rpx;
|
||
|
|
border-radius: 10rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.stat-item {
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
flex: 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
.stat-number {
|
||
|
|
font-size: 40rpx;
|
||
|
|
font-weight: 700;
|
||
|
|
color: #333;
|
||
|
|
margin-bottom: 10rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.stat-label {
|
||
|
|
font-size: 28rpx;
|
||
|
|
color: #999;
|
||
|
|
}
|
||
|
|
|
||
|
|
.stat-divider {
|
||
|
|
width: 1rpx;
|
||
|
|
height: 60rpx;
|
||
|
|
background-color: #f0f0f0;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 动态列表标题 */
|
||
|
|
.feed-section-header {
|
||
|
|
background-color: #fff;
|
||
|
|
margin-top: 20rpx;
|
||
|
|
padding: 20rpx 30rpx;
|
||
|
|
border-radius: 10rpx 10rpx 0 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.section-title {
|
||
|
|
font-size: 34rpx;
|
||
|
|
font-weight: 600;
|
||
|
|
color: #333;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 动态列表区域 */
|
||
|
|
.feed-section {
|
||
|
|
background-color: #fff;
|
||
|
|
padding: 0 30rpx 40rpx;
|
||
|
|
border-radius: 0 0 10rpx 10rpx;
|
||
|
|
margin-bottom: 30rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 动态项 */
|
||
|
|
.feed-item {
|
||
|
|
padding: 30rpx 0;
|
||
|
|
border-bottom: 1px solid #f0f0f0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.feed-item:last-child {
|
||
|
|
border-bottom: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 动态内容 */
|
||
|
|
.feed-content {
|
||
|
|
margin-bottom: 20rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 为内部text标签添加换行样式 */
|
||
|
|
.feed-content text,
|
||
|
|
.feed-content .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; /* WebKit浏览器支持 */
|
||
|
|
hyphens: auto; /* 允许自动断词并添加连字符 */
|
||
|
|
}
|
||
|
|
|
||
|
|
.content-text {
|
||
|
|
font-size: 32rpx;
|
||
|
|
line-height: 48rpx;
|
||
|
|
color: #333;
|
||
|
|
white-space: pre-wrap !important;
|
||
|
|
word-break: break-all !important;
|
||
|
|
word-wrap: break-word !important;
|
||
|
|
overflow-wrap: break-word !important;
|
||
|
|
display: block;
|
||
|
|
overflow: hidden;
|
||
|
|
-webkit-hyphens: auto;
|
||
|
|
hyphens: auto;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 动态媒体 */
|
||
|
|
.feed-media {
|
||
|
|
margin-bottom: 20rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.media-grid {
|
||
|
|
display: flex;
|
||
|
|
flex-wrap: wrap;
|
||
|
|
gap: 10rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.media-row {
|
||
|
|
display: flex;
|
||
|
|
gap: 10rpx;
|
||
|
|
margin-bottom: 10rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.media-row:last-child {
|
||
|
|
margin-bottom: 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.media-image {
|
||
|
|
border-radius: 10rpx;
|
||
|
|
overflow: hidden;
|
||
|
|
}
|
||
|
|
|
||
|
|
.media-image.small {
|
||
|
|
width: 220rpx;
|
||
|
|
height: 220rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
.media-image.grid {
|
||
|
|
width: 220rpx;
|
||
|
|
height: 220rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 动态时间 */
|
||
|
|
.feed-footer {
|
||
|
|
display: flex;
|
||
|
|
justify-content: flex-end;
|
||
|
|
}
|
||
|
|
|
||
|
|
.feed-time {
|
||
|
|
font-size: 26rpx;
|
||
|
|
color: #999;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 无动态提示 */
|
||
|
|
.no-feeds {
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
padding: 100rpx 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.no-feeds-img {
|
||
|
|
width: 120rpx;
|
||
|
|
height: 120rpx;
|
||
|
|
opacity: 0.4;
|
||
|
|
}
|
||
|
|
|
||
|
|
.no-feeds-text {
|
||
|
|
margin-top: 20rpx;
|
||
|
|
font-size: 28rpx;
|
||
|
|
color: #999;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 加载更多提示 */
|
||
|
|
.loading-more {
|
||
|
|
display: flex;
|
||
|
|
justify-content: center;
|
||
|
|
align-items: center;
|
||
|
|
padding: 30rpx 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.loading-more-text {
|
||
|
|
font-size: 28rpx;
|
||
|
|
color: #999;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 没有更多数据提示 */
|
||
|
|
.no-more {
|
||
|
|
display: flex;
|
||
|
|
justify-content: center;
|
||
|
|
align-items: center;
|
||
|
|
padding: 30rpx 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.no-more-text {
|
||
|
|
font-size: 28rpx;
|
||
|
|
color: #999;
|
||
|
|
}
|