Files
MBTI_wang/miniprogram/pages/result/sbti.wxss
卡若 ce55c48c64 feat: 同步今日小程序与后台迭代版本
集中提交今日 API、管理端、小程序与部署文档调整,确保 Gitea 主分支与本地最新开发版本一致。

Made-with: Cursor
2026-04-20 11:07:55 +08:00

527 lines
10 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* pages/result/sbti.wxssdash 样式见 app.wxss */
.result-page {
width: 100%;
min-height: 100vh;
background-color: #f2f7f3;
}
.content-scroll {
width: 100%;
height: 100vh;
}
.content-container {
padding: 32rpx;
padding-bottom: 64rpx;
}
/* 底部固定「我也要测试」时,为滚动内容预留空间(按钮约 96rpx + 安全区) */
.content-container--with-fixed-footer {
padding-bottom: calc(64rpx + 220rpx + env(safe-area-inset-bottom));
}
.content-scroll--with-fixed-footer {
height: 100vh;
}
.card {
background-color: #fff;
border-radius: 24rpx;
padding: 48rpx;
margin-bottom: 32rpx;
box-shadow: 0 4rpx 12rpx rgba(45, 61, 53, 0.06);
border: 1rpx solid #dce8e0;
}
.card-title {
display: block;
font-size: 36rpx;
font-weight: bold;
color: #333;
margin-bottom: 24rpx;
}
/* 主类型卡片 */
.main-type-card {
text-align: center;
}
.section-label {
display: block;
font-size: 28rpx;
color: #6b7f72;
margin-bottom: 16rpx;
}
.type-title-area {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 24rpx;
}
.type-main-cn {
font-size: 64rpx;
font-weight: bold;
color: #374151;
line-height: 1.2;
}
.type-main-code {
font-size: 36rpx;
font-weight: 500;
color: #5a7268;
margin-top: 8rpx;
}
.type-avatar-image {
display: block;
width: 100%;
height: auto;
border-radius: 20rpx;
margin: 0 auto;
background-color: #f7fcf9;
}
.type-avatar-fallback {
display: flex;
align-items: center;
justify-content: center;
width: 80%;
aspect-ratio: 1;
border-radius: 20rpx;
margin: 24rpx auto;
box-sizing: border-box;
background-color: #f7fcf9;
border: 1rpx solid #e3ebe6;
font-size: 48rpx;
font-weight: bold;
color: #5a7268;
}
.type-intro {
display: block;
font-size: 28rpx;
color: #666;
line-height: 1.6;
margin-top: 24rpx;
}
/* 你的主类型卡片 */
.your-main-type-card {
text-align: center;
}
.main-type-summary {
margin-bottom: 24rpx;
}
.main-type-text {
display: block;
font-size: 36rpx;
font-weight: bold;
color: #333;
margin-bottom: 8rpx;
}
.main-type-desc {
display: block;
font-size: 26rpx;
color: #666;
line-height: 1.5;
}
.match-info {
display: flex;
justify-content: center;
gap: 32rpx;
margin-bottom: 0;
}
.match-percent,
.match-dim {
font-size: 28rpx;
color: #5a7268;
font-weight: 500;
}
.btn {
display: flex;
align-items: center;
justify-content: center;
width: 100% !important;
padding: 28rpx;
border-radius: 16rpx;
margin-bottom: 20rpx;
border: none;
box-sizing: border-box;
overflow: hidden;
}
/* 消除微信 button 伪元素自带边框 */
.btn::after {
border: none;
}
.btn-primary {
background: linear-gradient(135deg, #5a7268 0%, #6f8a7e 100%);
box-shadow: 0 8rpx 24rpx rgba(90, 114, 104, 0.28);
}
.btn-text {
font-size: 32rpx;
font-weight: 600;
color: #fff;
}
/* 付费墙 */
.paywall-card {
margin-top: 24rpx;
border-radius: 24rpx;
overflow: hidden;
}
.paywall-content { position: relative; min-height: 360rpx; }
.paywall-blur {
padding: 32rpx 24rpx 200rpx;
border-radius: 24rpx;
background: rgba(255, 255, 255, 0.97);
backdrop-filter: blur(6rpx);
}
.paywall-mask {
position: absolute;
left: 0; top: 0; right: 0; bottom: 0;
border-radius: 24rpx;
z-index: 1;
background: linear-gradient(
180deg,
rgba(255, 255, 255, 0.08) 0%,
rgba(255, 255, 255, 0.28) 38%,
rgba(255, 255, 255, 0.58) 100%
);
pointer-events: none;
}
.paywall-fake-title { display: block; font-size: 30rpx; font-weight: 600; color: #444; margin-bottom: 16rpx; }
.paywall-fake-line { display: block; font-size: 26rpx; color: #888; line-height: 1.8; }
.paywall-btn {
position: absolute;
left: 5%;
right: 5%;
width: 90%;
bottom: 132rpx;
z-index: 3;
padding: 20rpx 0;
border-radius: 999rpx;
background: linear-gradient(135deg, #5a7268 0%, #6f8a7e 100%);
box-shadow: 0 8rpx 24rpx rgba(90, 114, 104, 0.28);
display: flex;
flex-direction: row;
align-items: baseline;
justify-content: center;
gap: 12rpx;
}
.paywall-btn-main { font-size: 30rpx; color: #fff; font-weight: 600; }
.paywall-btn-price { font-size: 24rpx; color: #dce8e0; }
/* 人格描述卡片 */
.description-card .description-text {
font-size: 28rpx;
color: #333;
line-height: 1.7;
white-space: pre-wrap; /* 保持后端返回的换行 */
}
/* 十五维度详解:白底卡片 + 左标题 / 右「H / 6分」+ 灰说明(与定稿稿式一致) */
.dimension-detail-card .dim-list {
margin-top: 8rpx;
}
.dim-item {
background-color: #fff;
border: 1rpx solid #e8e8e8;
border-radius: 16rpx;
padding: 28rpx 24rpx;
margin-bottom: 20rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);
}
.dim-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 16rpx;
margin-bottom: 12rpx;
}
.dim-name {
flex: 1;
min-width: 0;
font-size: 30rpx;
font-weight: 700;
color: #111827;
line-height: 1.35;
}
.dim-score {
flex-shrink: 0;
font-size: 28rpx;
color: #5a7268;
font-weight: 500;
line-height: 1.35;
white-space: nowrap;
}
.dim-text {
display: block;
font-size: 26rpx;
color: #6b7280;
font-weight: 400;
line-height: 1.65;
}
/* 分享落地:底部固定条 */
.result-share-footer {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 200;
box-sizing: border-box;
width: 100%;
padding: 20rpx 32rpx;
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
background: #f2f7f3;
box-shadow: 0 -8rpx 24rpx rgba(45, 61, 53, 0.08);
display: flex;
flex-direction: column;
gap: 16rpx;
}
.profile-gate-cta-card {
margin-top: 8rpx;
}
.sbti-gate-hint {
display: block;
font-size: 26rpx;
color: #6b7280;
line-height: 1.6;
margin-bottom: 20rpx;
}
.paywall-btn--inline-profile {
position: relative !important;
left: auto !important;
right: auto !important;
bottom: auto !important;
width: 100% !important;
margin-top: 0;
z-index: 1;
}
/* ===== 十五维度卡网格SBTI ===== */
.sbti-dim-grid {
display: flex;
flex-wrap: wrap;
gap: 16rpx;
margin-bottom: 28rpx;
}
.sbti-dim-card {
flex: 1 1 calc(50% - 16rpx);
min-width: 260rpx;
background: #fff;
border-radius: 20rpx;
padding: 24rpx 22rpx;
border: 1rpx solid #e8efe9;
box-shadow: 0 4rpx 14rpx rgba(15, 23, 42, 0.04);
display: flex;
flex-direction: column;
}
.sbti-dim-card__head {
display: flex;
align-items: center;
gap: 12rpx;
margin-bottom: 12rpx;
}
.sbti-dim-card__ic {
width: 52rpx;
height: 52rpx;
border-radius: 14rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
background: #ecfdf5;
color: #047857;
}
.sbti-dim-card.sbti-dim-color-s .sbti-dim-card__ic { background: #ecfdf5; color: #047857; }
.sbti-dim-card.sbti-dim-color-e .sbti-dim-card__ic { background: #fff1f2; color: #be123c; }
.sbti-dim-card.sbti-dim-color-a .sbti-dim-card__ic { background: #eff6ff; color: #1d4ed8; }
.sbti-dim-card.sbti-dim-color-c .sbti-dim-card__ic { background: #faf5ff; color: #7c3aed; }
.sbti-dim-card.sbti-dim-color-so .sbti-dim-card__ic { background: #fffbeb; color: #b45309; }
.sbti-dim-card__meta {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 2rpx;
}
.sbti-dim-card__name {
font-size: 28rpx;
font-weight: 700;
color: #111827;
}
.sbti-dim-card__score {
font-size: 22rpx;
color: #5a7268;
}
.sbti-dim-card__track {
height: 8rpx;
background: #e5efe8;
border-radius: 4rpx;
overflow: hidden;
margin-bottom: 10rpx;
}
.sbti-dim-card__fill {
height: 100%;
border-radius: 4rpx;
background: linear-gradient(90deg, #14b8a6 0%, #22d3ee 100%);
transition: width 0.35s ease;
}
.sbti-dim-card.sbti-dim-color-e .sbti-dim-card__fill { background: linear-gradient(90deg, #f43f5e 0%, #fb7185 100%); }
.sbti-dim-card.sbti-dim-color-a .sbti-dim-card__fill { background: linear-gradient(90deg, #3b82f6 0%, #60a5fa 100%); }
.sbti-dim-card.sbti-dim-color-c .sbti-dim-card__fill { background: linear-gradient(90deg, #8b5cf6 0%, #a78bfa 100%); }
.sbti-dim-card.sbti-dim-color-so .sbti-dim-card__fill { background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%); }
/* SBTI 维度分系分组 */
.sbti-group-wrap {
display: flex;
flex-direction: column;
gap: 16rpx;
margin-bottom: 28rpx;
}
.sbti-group {
background: #fff;
border: 1rpx solid #e8efe9;
border-radius: 20rpx;
box-shadow: 0 4rpx 14rpx rgba(15, 23, 42, 0.04);
overflow: hidden;
}
.sbti-group__head {
display: flex;
align-items: center;
gap: 14rpx;
padding: 24rpx 28rpx;
background: linear-gradient(135deg, #ecfdf5 0%, #ccfbf1 100%);
}
.sbti-group__title {
flex: 1;
font-size: 28rpx;
font-weight: 700;
color: #0f766e;
}
.sbti-group__count {
font-size: 22rpx;
color: #0f766e;
background: #ffffff;
padding: 4rpx 14rpx;
border-radius: 999rpx;
}
.sbti-group__chev {
font-size: 36rpx;
color: #0f766e;
transition: transform 0.2s ease;
}
.sbti-group__chev--open {
transform: rotate(90deg);
}
.sbti-group__body {
padding: 20rpx 20rpx;
}
.sbti-dim-grid--in-group {
margin-bottom: 0;
}
.description-para {
display: block;
font-size: 28rpx;
color: #334155;
line-height: 1.8;
margin-bottom: 14rpx;
}
.description-para:last-child {
margin-bottom: 0;
}
.sbti-dim-card__text {
display: block;
font-size: 24rpx;
color: #475569;
line-height: 1.7;
}
.result-share-footer-row2 {
display: flex;
flex-direction: row;
gap: 16rpx;
width: 100%;
}
.result-share-footer-row2 .result-share-footer-btn {
flex: 1;
min-height: 88rpx;
line-height: 88rpx;
}
.result-share-footer-btn--ghost {
background: #fff !important;
color: #5a7268 !important;
border: 2rpx solid #cfe0d6 !important;
box-shadow: none !important;
}
.result-share-footer-btn--share {
background: linear-gradient(135deg, #0ea5e9 0%, #5a7268 100%) !important;
}
/* 与 SBTI 答题页主按钮pages/test/sbti主题绿一致 */
.result-share-footer-btn {
width: 100% !important;
box-sizing: border-box;
display: block;
margin: 0;
padding: 0;
min-height: 96rpx;
line-height: 96rpx;
border-radius: 999rpx;
font-size: 30rpx;
font-weight: 600;
color: #fff;
background: linear-gradient(135deg, #5a7268 0%, #6f8a7e 100%);
border: none;
box-shadow: 0 8rpx 24rpx rgba(90, 114, 104, 0.28);
}
.result-share-footer-btn::after {
border: none;
}