Files
offerpai_web/src/assets/styles/pages/mentor-detail.scss
T

299 lines
5.1 KiB
SCSS

@use '../variables' as *;
// ==================== 导师详情页样式 ====================
.mentor-detail {
min-width: 12.8rem;
font-size: 0.14rem;
width: 100%;
height: var(--app-height, 100vh);
background: $bg-main;
overflow: hidden;
// 主体区域
&__body {
flex: 1;
height: 100%;
overflow: hidden;
display: flex;
}
// 左侧主内容区
&__main {
flex: 1;
height: 100%;
overflow: hidden;
display: flex;
flex-direction: column;
min-width: 0;
}
// 右侧广告区域
&__aside {
width: 3.6rem;
flex-shrink: 0;
height: 100%;
background: #fff;
overflow-y: auto;
}
// 页面标题
&__page-title {
font-size: 0.18rem;
font-weight: 600;
color: $text-dark;
flex-shrink: 0;
padding: 0.16rem 0.24rem;
background: #fff;
}
// 返回按钮
&__back {
display: flex;
align-items: center;
gap: 0.04rem;
font-size: 0.13rem;
color: $text-middle;
cursor: pointer;
margin: 0.16rem 0.24rem;
flex-shrink: 0;
&:hover {
color: $accent;
}
}
&__back-icon {
width: 0.14rem;
height: 0.14rem;
}
// 滚动容器
&__scroll {
flex: 1;
overflow-y: auto;
padding-bottom: 0.24rem;
margin:0 0.24rem 0.16rem 0.24rem;
&::-webkit-scrollbar {
width: 4px;
}
&::-webkit-scrollbar-thumb {
background: $border-color;
border-radius: 2px;
}
}
// 通用卡片
&__card {
background: $bg-white;
border-radius: 0.08rem;
padding: 0.4rem 0.32rem;
margin-bottom: 0.16rem;
}
// ==================== 导师信息卡片 ====================
&__info-card {
display: flex;
align-items: stretch;
justify-content: space-between;
gap: 0.2rem;
}
&__info-left {
display: flex;
align-items: center;
gap: 0.16rem;
min-width: 0;
}
// 头像
&__avatar-wrap {
flex-shrink: 0;
}
&__avatar {
width: 1.04rem;
height: 1.04rem;
border-radius: 50%;
object-fit: cover;
}
&__avatar-placeholder {
width: 0.6rem;
height: 0.6rem;
border-radius: 50%;
background: $accent;
color: $bg-white;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.2rem;
font-weight: 600;
}
// 导师文字信息
&__info-text {
min-width: 0;
}
&__name {
font-size: 0.24rem;
font-weight: 600;
color: $text-dark;
margin-bottom: 0.04rem;
}
&__meta {
font-size: 0.18rem;
color: $text-middle;
margin-bottom: 0.04rem;
display: inline-block;
font-weight: 400;
margin-left: 0.1rem;
}
&__location {
font-size: 0.14rem;
color: $text-middle;
margin-bottom: 0.08rem;
>span{
color: $text-dark;
}
}
&__services {
font-size: 0.14rem;
color: $text-middle;
>span{
color: $text-dark;
}
}
// 右侧咨询区域容器
&__consult-wrap {
display: flex;
flex-direction: column;
align-items: flex-end;
justify-content: space-between;
flex-shrink: 0;
}
// 咨询价格
&__price {
display: flex;
align-items: baseline;
gap: 0.04rem;
}
&__price-label {
font-size: 0.13rem;
color: $text-middle;
}
&__price-value {
font-size: 0.22rem;
font-weight: 700;
color: #f5a623;
}
&__price-suffix {
font-size: 0.13rem;
color: $text-middle;
}
// 立即咨询按钮
&__consult-btn {
width: 0.92rem;
text-align: center;
height: 0.32rem;
line-height: 0.30rem;
background: #fff;
border: 0.01rem solid $accent;
color: $accent;
border-radius: 0.08rem;
font-size: 0.12rem;
text-decoration: none;
white-space: nowrap;
flex-shrink: 0;
transition: background 0.15s;
&:hover {
background: $btn-dark;
color: #fff;
}
}
// ==================== 区域标题 ====================
&__section-title {
font-size: 0.18rem;
font-weight: 600;
color: $accent;
margin-bottom: 0.14rem;
}
// ==================== 话题列表 ====================
&__talk-item {
margin-bottom: 0.16rem;
&:last-child {
margin-bottom: 0;
}
}
&__talk-title {
font-size: 0.16rem;
font-weight: 600;
color: $text-dark;
margin-bottom: 0.06rem;
line-height: 1.5;
}
&__talk-content {
font-size: 0.14rem;
color: $text-middle;
line-height: 1.7;
white-space: pre-wrap;
word-break: break-all;
}
// ==================== 个人介绍 ====================
&__introduce {
font-size: 0.12rem;
color: $text-middle;
line-height: 1.7;
white-space: pre-wrap;
word-break: break-all;
}
// ==================== 加载状态 ====================
&__loading {
display: flex;
align-items: center;
justify-content: center;
gap: 0.08rem;
padding: 0.3rem;
color: $text-middle;
font-size: 0.13rem;
}
&__loading-spinner {
width: 0.18rem;
height: 0.18rem;
border: 2px solid $border-color;
border-top-color: $accent;
border-radius: 50%;
animation: mentorDetailSpin 0.7s linear infinite;
}
@keyframes mentorDetailSpin {
to { transform: rotate(360deg); }
}
}