Files
web_huangguo2_h5/app/static/css/profile-mobile.css
T
谢宇宁andClaude Opus 5.5 0fbdba5ccf Initial commit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 11:47:47 +07:00

591 lines
13 KiB
CSS

/* 个人中心 H5:以 Figma 375px 画板为基准。 */
@media (max-width: 768px) {
.profile-page {
--profile-gutter: clamp(14px, 4.266667vw, 18px);
--profile-card-gap: clamp(7px, 2.133333vw, 9px);
width: 100%;
min-width: 0;
padding-top: 0;
background: #0b0b0d;
}
.profile-hero {
width: 100%;
padding-top: 56px; /* 公共导航固定在视口顶部 */
background: linear-gradient(180deg, #2a0d22 0%, #150a17 60%, #0b0b0d 100%);
}
.profile-hero::before {
top: -90px;
left: -60px;
width: 360px;
height: 220px;
filter: blur(55px);
opacity: 0.22;
}
.profile-hero__inner {
display: block;
grid-template-columns: none;
width: 100%;
max-width: none;
margin: 0;
padding: 0;
}
.profile-identity {
display: flex;
align-items: center;
gap: clamp(12px, 3.733333vw, 16px);
min-width: 0;
margin: 0;
padding: 12px var(--profile-gutter) 16px;
}
.profile-identity__avatar {
display: block;
flex: 0 0 clamp(55px, 17.066667vw, 73px);
width: clamp(55px, 17.066667vw, 73px);
height: clamp(55px, 17.066667vw, 73px);
border: 2px solid rgba(255, 255, 255, 0.24);
border-radius: 50%;
object-fit: cover;
}
.profile-identity__copy {
display: grid;
flex: 1 1 0;
grid-template-columns: minmax(0, 1fr) auto;
grid-template-rows: 26px 16px;
column-gap: 12px;
row-gap: 6px;
min-width: 0;
}
.profile-identity__name {
grid-column: 1;
grid-row: 1;
overflow: hidden;
color: #f2f2f4;
font-size: 18px;
font-weight: 600;
line-height: 26px;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-identity__meta {
grid-column: 1;
grid-row: 2;
overflow: hidden;
color: #a1a1aa;
font-size: 11px;
font-weight: 400;
line-height: 16px;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-identity__edit {
display: inline-flex;
grid-column: 2;
grid-row: 1 / 3;
align-self: center;
flex: 0 0 auto;
align-items: center;
justify-content: center;
gap: 8px;
height: 32px;
padding: 0 8px;
color: #f2f2f4;
border: 1px solid rgba(255, 255, 255, 0.24);
border-radius: 999px;
font-size: 0;
font-weight: 500;
line-height: 0;
white-space: nowrap;
}
.profile-identity__edit::after {
content: "编辑";
font-size: 14px;
line-height: 20px;
}
.profile-identity__edit .icon,
.profile-identity__edit img,
.profile-identity__edit svg {
width: 16px;
height: 16px;
}
.profile-wallet {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
min-height: 101px;
margin: 0 var(--profile-gutter) 16px;
padding: 14px;
background: #141417;
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: 12px;
}
.profile-wallet__label {
display: flex;
align-items: center;
gap: 6px;
color: #f2f2f4;
font-size: 15px;
font-weight: 600;
line-height: 21px;
}
.profile-wallet__amount {
display: block;
margin-top: 4px;
color: #e9c977;
font-family: Inter, var(--font);
font-size: 20px;
font-weight: 600;
line-height: 26px;
}
.profile-wallet__hint {
margin: 4px 0 0;
color: #7c7c86;
font-size: 11px;
line-height: 16px;
white-space: nowrap;
}
.profile-wallet__actions {
display: flex;
flex: 0 0 auto;
align-items: center;
}
.profile-wallet__recharge {
display: inline-flex;
align-items: center;
justify-content: center;
height: 32px;
padding: 0 12px;
color: #fff;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
border: 0;
border-radius: 999px;
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
}
.profile-wallet__details {
display: none;
}
.profile-stats {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
margin: 0;
min-height: 64px;
padding: 12px var(--profile-gutter) 14px;
border-top: 1px solid rgba(255, 255, 255, 0.07);
}
.profile-stat {
display: flex;
flex: 0 0 auto;
flex-direction: column;
align-items: center;
gap: 2px;
min-width: 0;
text-align: center;
}
.profile-stat__value {
color: #f2f2f4;
font-family: Inter, var(--font);
font-size: 16px;
font-weight: 600;
line-height: 20px;
}
.profile-stat__value span { display: none; }
.profile-stat__label {
color: #7c7c86;
font-size: 11px;
font-weight: 400;
line-height: 16px;
white-space: nowrap;
}
.profile-tabs {
width: 100%;
margin: 0;
padding-top: 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.profile-tabs__inner {
display: flex;
align-items: flex-end;
gap: 24px;
width: 100%;
max-width: none;
min-height: 38px;
height: 38px;
margin: 0;
padding: 6px var(--profile-gutter) 0;
overflow-x: auto;
overflow-y: hidden;
scrollbar-width: none;
-webkit-overflow-scrolling: touch;
}
.profile-tabs__inner::-webkit-scrollbar { display: none; }
.profile-tabs__link {
position: relative;
display: inline-flex;
flex: 0 0 auto;
align-items: flex-start;
justify-content: center;
min-height: 31px;
padding: 0 0 10px;
color: #a1a1aa;
font-size: 15px;
font-weight: 600;
line-height: 21px;
white-space: nowrap;
}
.profile-tabs__link.is-active { color: #f2f2f4; }
.profile-tabs__link.is-active::after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
width: 20px;
height: 2px;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
transform: translateX(-50%);
}
.profile-main {
display: block;
width: 100%;
max-width: none;
min-width: 0;
margin: 0;
padding: 0;
}
.profile-section {
display: flex;
flex-direction: column;
gap: 14px;
width: 100%;
max-width: none;
margin: 0;
padding-right: var(--profile-gutter);
padding-left: var(--profile-gutter);
}
.profile-section--recent { padding-top: 16px; padding-bottom: 8px; }
.profile-section--favorites { padding-top: 12px; padding-bottom: 8px; }
.profile-section__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
min-height: 26px;
}
.profile-section__heading {
display: flex;
align-items: baseline;
gap: 10px;
min-width: 0;
}
.profile-section__title {
margin: 0;
color: #f2f2f4;
font-size: 18px;
font-weight: 600;
line-height: 26px;
white-space: nowrap;
}
.profile-section__subtitle {
color: #7c7c86;
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}
.profile-section--recent .profile-section__subtitle { display: none; }
.profile-section__more {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: 2px;
color: #a1a1aa;
font-size: 13px;
line-height: 20px;
white-space: nowrap;
}
.profile-section__more .icon,
.profile-section__more img,
.profile-section__more svg { width: 14px; height: 14px; }
.profile-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px var(--profile-card-gap);
width: 100%;
min-width: 0;
}
.profile-section--recent .profile-card:nth-child(n + 4) { display: none; }
.profile-card {
display: flex;
flex-direction: column;
gap: 6px;
min-width: 0;
}
.profile-card__cover {
position: relative;
display: block;
width: 100%;
aspect-ratio: 109 / 145;
overflow: hidden;
background: #1b1b1f;
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: 8px;
}
.profile-card__cover::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;
background: linear-gradient(180deg, transparent 58%, rgba(0, 0, 0, 0.7) 100%);
pointer-events: none;
}
.profile-card__image {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.profile-card__progress {
position: absolute;
right: 10px;
bottom: 6px;
left: 10px;
z-index: 2;
height: 3px;
overflow: hidden;
background: rgba(255, 255, 255, 0.12);
border-radius: 999px;
}
.profile-card__progress-fill {
display: block;
width: 60%;
height: 100%;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.profile-section--recent .profile-card:nth-child(1) .profile-card__progress-fill { width: 59.6%; }
.profile-section--recent .profile-card:nth-child(2) .profile-card__progress-fill { width: 24.7%; }
.profile-section--recent .profile-card:nth-child(3) .profile-card__progress-fill { width: 79.8%; }
.profile-card__episodes {
position: absolute;
bottom: 10px;
left: 10px;
z-index: 2;
color: #f2f2f4;
font-size: 11px;
font-weight: 500;
line-height: 14px;
white-space: nowrap;
}
.profile-card__badge {
position: absolute;
top: 4px;
right: 4px;
z-index: 2;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 30px;
height: 20px;
padding: 0 5px;
color: #141414;
background: linear-gradient(135deg, #fadc44 15%, #f9c24e 85%);
border-radius: 6px;
font-size: 11px;
font-weight: 500;
line-height: 14px;
white-space: nowrap;
}
.profile-card__badge:not(.profile-card__badge--hot) {
color: #141414;
background: linear-gradient(135deg, #fadc44 15%, #f9c24e 85%);
}
.profile-card__badge--hot,
.profile-card__badge[data-badge="hot"] {
color: #fff;
background: linear-gradient(135deg, #f04050 15%, #d01030 85%);
}
.profile-card__title {
display: block;
overflow: hidden;
color: #f2f2f4;
font-size: 14px;
font-weight: 600;
line-height: 20px;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-card__meta {
display: block;
overflow: hidden;
color: #a1a1aa;
font-size: 11px;
font-weight: 400;
line-height: 16px;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-card__remaining { display: none; }
.profile-promo {
display: flex;
flex-direction: column;
gap: 8px;
width: 100%;
max-width: none;
margin: 0;
padding: 8px var(--profile-gutter);
}
.profile-ad {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
width: 100%;
aspect-ratio: 343 / 98;
min-height: 0;
background: #232328;
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: 12px;
text-align: center;
}
.profile-ad__icon { width: 20px; height: 20px; object-fit: contain; }
.profile-ad__title {
color: #a1a1aa;
font-size: 15px;
font-weight: 600;
line-height: 21px;
}
.profile-ad__mobile-size { display: inline; }
.profile-ad__desktop-size { display: none; }
.profile-ad__meta {
color: #7c7c86;
font-size: 11px;
line-height: 16px;
}
.profile-ad__badge {
position: absolute;
top: 8px;
right: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
height: 20px;
padding: 0 6px;
color: #f2f2f4;
background: rgba(0, 0, 0, 0.6);
border-radius: 999px;
font-size: 11px;
font-weight: 500;
line-height: 14px;
}
/* The shared footer's compact profile arrangement in the mobile design. */
.profile-page .site-footer__brand { gap: 18px; }
.profile-page .site-footer__links {
flex-wrap: wrap;
gap: 12px 16px;
}
.profile-page .footer-col { flex-wrap: nowrap; }
.profile-page .footer-col:first-child,
.profile-page .footer-col:nth-child(2) a:last-child,
.profile-page .footer-col:nth-child(3) a:last-child { display: none; }
.profile-page .footer-download {
display: flex;
flex-basis: 100%;
justify-content: center;
padding: 0;
border: 0;
background: none;
}
.profile-page .footer-download .qr-box,
.profile-page .footer-download__copy strong,
.profile-page .footer-download__copy p,
.profile-page .footer-download__copy .icon { display: none; }
.profile-page .footer-download .btn {
height: 20px;
padding: 0;
color: var(--text-muted);
background: none;
font-size: 13px;
line-height: 20px;
}
.profile-page .site-footer__rule { display: none; }
.profile-page .site-footer__legal p:first-child {
order: 2;
width: 100%;
padding-top: 16px;
margin-top: 16px;
border-top: 1px solid var(--line-soft);
}
.profile-page .site-footer__legal p:last-child { order: 1; }
.profile-page .site-footer__adult { display: none; }
.profile-page .site-footer__rights { display: none; }
.profile-page .site-footer__mobile-adult { display: inline; }
}