Files
wordpress-theme-aksrt/assets/css/routes/user-center/responsive.css
T
kate522 7177b090de fix(user-center): align dual-column with zibll flex shell
Rebuild /profile layout as zibll-style user-center flex (sidebar 320px
first, content flexes). Drop content-layout float shell classes so the
stats/assets nav stays left of the credits panel on desktop and drawer
on tablet/mobile.
2026-07-17 09:16:27 +08:00

374 lines
8.2 KiB
CSS
Raw 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.
/**
* User Center — mobile tabs, drawer breakpoints, a11y/loading, invite mobile
*/
/* ==================== 移动端 Tab 栏 ==================== */
.uc-mobile-tabs {
display: none;
}
@media (max-width: 767px) {
.uc-mobile-tabs {
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: hidden;
gap: 4px;
padding-bottom: 12px;
margin-bottom: 16px;
border-bottom: 1px solid var(--color-line-soft, rgba(0,0,0,0.06));
scrollbar-width: none;
-ms-overflow-style: none;
}
.uc-mobile-tabs::-webkit-scrollbar {
display: none;
}
.uc-mobile-tabs button {
flex-shrink: 0;
white-space: nowrap;
padding: 8px 14px;
border: none;
border-radius: 8px;
background: transparent;
color: var(--color-ink-3);
font-size: 13px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
}
.uc-mobile-tabs button:hover {
background: var(--surface-2);
color: var(--color-ink);
}
.uc-mobile-tabs button.is-active {
background: var(--color-primary-soft);
color: var(--color-primary);
font-weight: 600;
}
}
/* ==================== 响应式抽屉(对齐 zibll ≤767 全宽,覆盖 display:none) ==================== */
/* zibll 在 max-width:767 把 user-center-sidebar/content 设 width:100%;
* 本站沿用 ≤991.98 的 drawer 模式,与全站侧栏折叠点一致。 */
@media (max-width: 991.98px) {
body.aksrt-user-center .user-center-body,
body.aksrt-user-center .aksrt-profile__layout,
.aksrt-profile .user-center-body,
.aksrt-profile .aksrt-profile__layout,
.user-center .user-center-body {
display: block;
gap: 0;
}
body.aksrt-user-center .user-center-content,
body.aksrt-user-center .uc-content,
.aksrt-profile .user-center-content,
.aksrt-profile .uc-content,
.user-center .user-center-content {
width: 100%;
max-width: none;
flex: none;
}
/* 抽屉:离屏固定,FAB 打开;不参与文档流,避免堆在内容下方 */
body.aksrt-user-center .user-center-sidebar,
body.aksrt-user-center .uc-sidebar,
body.aksrt-user-center .aksrt-profile__aside,
.aksrt-profile .user-center-sidebar,
.aksrt-profile .uc-sidebar,
.aksrt-profile .aksrt-profile__aside,
.user-center .user-center-sidebar {
display: flex;
float: none;
flex: none;
width: 270px;
max-width: 270px;
margin-left: 0;
margin-right: 0;
position: fixed;
top: 0;
left: -280px;
bottom: 0;
z-index: 300;
background: var(--surface-1);
padding: 0;
overflow-y: auto;
overflow-x: hidden;
transition: left 0.3s cubic-bezier(0.22, 1, 0.36, 1);
box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
gap: 0;
align-self: auto;
}
body.aksrt-user-center .user-center-sidebar.is-open,
body.aksrt-user-center .uc-sidebar.is-open,
body.aksrt-user-center .aksrt-profile__aside.is-open,
.aksrt-profile .user-center-sidebar.is-open,
.aksrt-profile .uc-sidebar.is-open,
.aksrt-profile .aksrt-profile__aside.is-open,
.user-center .user-center-sidebar.is-open {
left: 0;
}
/* 抽屉头部装饰 */
body.aksrt-user-center .user-center-sidebar::before,
body.aksrt-user-center .uc-sidebar::before,
body.aksrt-user-center .aksrt-profile__aside::before,
.aksrt-profile .user-center-sidebar::before,
.aksrt-profile .uc-sidebar::before,
.aksrt-profile .aksrt-profile__aside::before,
.user-center .user-center-sidebar::before {
content: '';
display: block;
height: 100px;
background: linear-gradient(135deg, var(--color-primary), #667eea);
flex-shrink: 0;
}
body.aksrt-user-center .uc-sidebar__section,
.aksrt-profile .uc-sidebar__section,
.user-center .uc-sidebar__section {
border-radius: 0;
border-left: none;
border-right: none;
box-shadow: none;
}
body.aksrt-user-center .uc-sidebar__section:first-of-type,
.aksrt-profile .uc-sidebar__section:first-of-type,
.user-center .uc-sidebar__section:first-of-type {
margin-top: -20px;
position: relative;
z-index: 1;
border-radius: 12px 12px 0 0;
}
body.aksrt-user-center .uc-sidebar__drawer-trigger,
.aksrt-profile .uc-sidebar__drawer-trigger,
.user-center .uc-sidebar__drawer-trigger {
display: flex;
}
}
@media (max-width: 767px) {
.uc-content .dashboard-panel {
padding: 16px;
}
.uc-content .credits-card {
flex-direction: column;
text-align: center;
gap: 12px;
}
}
/* ==================== 焦点状态(无障碍)==================== */
.uc-sidebar__btn:focus-visible,
.uc-sidebar__drawer-trigger:focus-visible,
.uc-content .btn-primary:focus-visible,
.uc-content .btn-ghost:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
/* ==================== 加载状态 ==================== */
.uc-content .btn-primary.is-loading,
.uc-content .btn-ghost.is-loading {
position: relative;
color: transparent;
pointer-events: none;
}
.uc-content .btn-primary.is-loading::after,
.uc-content .btn-ghost.is-loading::after {
content: '';
position: absolute;
width: 16px;
height: 16px;
border: 2px solid rgba(255,255,255,0.3);
border-top-color: #fff;
border-radius: 50%;
animation: btn-spin 0.6s linear infinite;
}
@keyframes btn-spin {
to { transform: rotate(360deg); }
}
/* ==================== 空状态增强 ==================== */
.uc-content .profile-empty {
padding: 48px 20px;
}
.uc-content .profile-empty__icon {
width: 56px;
height: 56px;
margin-bottom: 14px;
}
.uc-content .profile-empty__icon svg {
width: 26px;
height: 26px;
}
/* ==================== 移动端底部安全区 ==================== */
.uc-sidebar__drawer-trigger {
bottom: calc(72px + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 480px) {
.user-center,
.aksrt-profile.content-shell {
padding: 0 12px 32px;
}
.uc-stats {
grid-template-columns: repeat(4, 1fr);
}
.uc-stats__item {
padding: 8px 4px;
}
.uc-stats__value {
font-size: 1rem;
}
.uc-content .dashboard-panel {
padding: 14px;
}
.uc-content .widget-card {
padding: 14px;
}
.uc-balance-card__content {
padding: 18px;
}
.uc-balance-card__value {
font-size: 2rem;
}
.uc-balance-card__actions {
flex-direction: column;
gap: 10px;
align-items: flex-start;
}
.uc-balance-card__sign-btn {
width: 100%;
justify-content: center;
}
.uc-transactions__item {
padding: 12px 14px;
}
.uc-transactions__icon {
width: 32px;
height: 32px;
font-size: 12px;
}
.uc-content .credits-card {
padding: 16px;
}
.uc-content .credits-card__value {
font-size: 1.5rem;
}
}
@media (max-width: 640px) {
.uc-content .aksrt-invite-hero {
flex-direction: column;
padding: 0 0 14px;
}
.uc-content .aksrt-invite-code-card {
width: 100%;
padding: 12px 0 0;
border-left: 0;
border-top: 1px solid var(--color-line-soft, rgba(0,0,0,0.06));
}
.uc-content .aksrt-invite-link-row {
flex-direction: column;
padding: 14px 0;
}
.uc-content .aksrt-invite-link-row input {
flex: none;
width: 100%;
height: 40px;
}
.uc-content .aksrt-invite-copy {
width: 100%;
}
.uc-content .aksrt-invite-stats {
grid-template-columns: repeat(3, 1fr);
padding: 12px 0;
}
.uc-content .aksrt-invite-stat {
align-items: center;
text-align: center;
padding: 0 8px;
border-right: 1px solid var(--color-line-soft, rgba(0,0,0,0.06));
border-bottom: 0;
}
.uc-content .aksrt-invite-stat:last-child {
border-right: 0;
}
.uc-content .aksrt-invite-stat strong {
font-size: 22px;
}
.uc-content .aksrt-invite-stat span,
.uc-content .aksrt-invite-stat strong {
white-space: nowrap;
}
.uc-content .aksrt-invite-stat small {
font-size: 11px;
}
.uc-content .aksrt-invite-records {
padding: 14px 0 0;
}
.uc-content .aksrt-invite-record {
align-items: flex-start;
}
.uc-content .aksrt-invite-record__status {
min-width: 0;
}
}
@media (max-width: 520px) {
.uc-content .aksrt-invite-record {
flex-wrap: wrap;
}
.uc-content .aksrt-invite-record__main {
flex: 1 1 calc(100% - 54px);
}
.uc-content .aksrt-invite-record__status {
flex: 1 1 100%;
align-items: flex-start;
padding-left: 54px;
text-align: left;
}
}