fix(vip): 1:1 zibll VIP profile card with dual-column layout

This commit is contained in:
2026-07-21 20:37:25 +08:00
parent 23416515d3
commit 5ca3ead6aa
2 changed files with 183 additions and 48 deletions
+122 -28
View File
@@ -1080,63 +1080,136 @@ body.uc-modal-open {
.uc-vip-tab {
min-width: 0;
}
/* Top profile card — zibll .user-content-myvip 1:1 */
.uc-vip-tab .user-content-myvip {
position: relative;
display: flex;
align-items: center;
gap: 16px;
padding: 16px 18px;
gap: 20px;
padding: 18px 20px;
margin-bottom: 16px;
overflow: hidden;
}
.uc-vip-tab .user-content-myvip .vip-img {
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
opacity: 0.08;
font-size: 3em;
line-height: 1;
pointer-events: none;
z-index: 0;
}
.uc-vip-tab .user-content-myvip .uc-vip-user-row {
.uc-vip-tab .user-content-myvip > .flex2,
.uc-vip-tab .user-content-myvip > .flex4,
.uc-vip-tab .user-content-myvip > .uc-vip-profile,
.uc-vip-tab .user-content-myvip > .uc-vip-state {
position: relative;
z-index: 1;
min-width: 0;
}
.uc-vip-tab .user-content-myvip .flex2,
.uc-vip-tab .user-content-myvip .uc-vip-profile {
flex: 2 1 0;
}
.uc-vip-tab .user-content-myvip .flex4,
.uc-vip-tab .user-content-myvip .uc-vip-state {
flex: 4 1 0;
}
/* Crown watermark — zibll .user-content-myvip .vip-img.abs-right */
.uc-vip-tab .user-content-myvip .vip-img,
.uc-vip-tab .user-content-myvip .vip-img.abs-right {
position: absolute;
right: -10px;
top: 50%;
transform: translateY(-50%);
font-size: 160px;
line-height: 1;
opacity: 0.15;
pointer-events: none;
z-index: 0;
color: currentColor;
}
.uc-vip-tab .user-content-myvip .vip-img i {
font-size: inherit;
line-height: 1;
}
/* Left user box */
.uc-vip-tab .uc-vip-userbox {
display: flex;
align-items: center;
gap: 12px;
min-width: 0;
flex: 1 1 auto;
}
.uc-vip-tab .uc-vip-userbox .mr20 {
margin-right: 20px;
}
.uc-vip-tab .uc-vip-userbox .shrink0 {
flex-shrink: 0;
}
/* avatar-md = 55×55 circle (zibll --this-size: 55px) */
.uc-vip-tab .user-content-myvip .avatar-img {
flex: 0 0 auto;
position: relative;
display: inline-block;
flex-shrink: 0;
--this-size: 55px;
width: var(--this-size);
height: var(--this-size);
line-height: 0;
}
.uc-vip-tab .user-content-myvip .avatar-img.avatar-md {
--this-size: 55px;
}
.uc-vip-tab .user-content-myvip .avatar-img .avatar,
.uc-vip-tab .user-content-myvip .avatar-img img {
border-radius: 50%;
display: block;
width: 56px;
height: 56px;
width: 100% !important;
height: 100% !important;
max-width: none;
border-radius: 50%;
object-fit: cover;
aspect-ratio: 1 / 1;
}
.uc-vip-tab .user-content-myvip .min-w-0 {
.uc-vip-tab .uc-vip-userbox .name {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 4px;
line-height: 1.35;
min-width: 0;
}
.uc-vip-tab .mb3 {
margin-bottom: 3px;
.uc-vip-tab .uc-vip-userbox .name .display-name,
.uc-vip-tab .uc-vip-userbox .name a {
font-weight: 700;
color: inherit;
text-decoration: none;
}
.uc-vip-status {
.uc-vip-tab .uc-vip-userbox .desc {
max-width: 100%;
line-height: 1.45;
}
.uc-vip-tab .em12 { font-size: 1.2em; }
.uc-vip-tab .em16 { font-size: 1.6em; line-height: 1.2; }
.uc-vip-tab .em09 { font-size: 0.9em; }
.uc-vip-tab .mt6 { margin-top: 6px; }
.uc-vip-tab .mr10 { margin-right: 10px; }
.uc-vip-tab .mr3 { margin-right: 3px; }
.uc-vip-tab .ml6 { margin-left: 6px; }
.uc-vip-tab .font-bold { font-weight: 700; }
.uc-vip-tab .c-red { color: #ff5473; }
.uc-vip-tab .min-w-0 { min-width: 0; }
.uc-vip-tab .text-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 100%;
}
/* Right status column — zibll my_vip_box */
.uc-vip-status,
.uc-vip-tab .uc-vip-status.flex.xx {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 6px;
}
.uc-vip-status__title {
display: inline-flex;
.uc-vip-status .flex.ac {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px;
font-size: 1.05em;
line-height: 1.3;
}
.uc-vip-status .badg {
display: inline-flex;
@@ -1349,6 +1422,27 @@ html:not(.dark):not(.theme-dark) .uc-vip-level-card.level-2 .v-name {
flex: 1 1 auto;
}
.uc-vip-tab .user-content-myvip {
padding: 14px;
padding: 14px 16px;
gap: 12px;
flex-wrap: wrap;
}
/* zibll: hide-sm on left profile column on mobile */
.uc-vip-tab .user-content-myvip .hide-sm,
.uc-vip-tab .user-content-myvip .uc-vip-profile.hide-sm {
display: none !important;
}
.uc-vip-tab .user-content-myvip .flex4,
.uc-vip-tab .user-content-myvip .uc-vip-state {
flex: 1 1 100%;
}
.uc-vip-tab .user-content-myvip .vip-img {
font-size: 110px;
opacity: 0.12;
}
}
@media (min-width: 768px) {
.uc-vip-tab .user-content-myvip .hide-sm {
display: block;
}
}