style: PortalLayout 黑金改国聘红白底
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
bc096bf421
commit
acf582fc9b
|
|
@ -95,11 +95,11 @@ const logout = () => { auth.logout(); router.push('/') }
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
:root {
|
:root {
|
||||||
--c-red: #D4D4D4;
|
--c-red: var(--brand-red);
|
||||||
--c-dark: #0E1E3D;
|
--c-dark: var(--brand-red-2);
|
||||||
--c-gold: #C8973A;
|
--c-gold: var(--brand-red);
|
||||||
--c-cream: #F8F4EF;
|
--c-cream: var(--bg-page);
|
||||||
--c-border: #E2D9D0;
|
--c-border: var(--border);
|
||||||
}
|
}
|
||||||
|
|
||||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||||
|
|
@ -124,8 +124,8 @@ a { text-decoration: none; }
|
||||||
|
|
||||||
/* 顶部公告条 */
|
/* 顶部公告条 */
|
||||||
.top-bar {
|
.top-bar {
|
||||||
background: #1A1A1A;
|
background: #F2F3F5;
|
||||||
color: rgba(255,255,255,0.75);
|
color: var(--text-muted);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
letter-spacing: 0.05em;
|
letter-spacing: 0.05em;
|
||||||
}
|
}
|
||||||
|
|
@ -139,19 +139,19 @@ a { text-decoration: none; }
|
||||||
}
|
}
|
||||||
.top-bar-left::before {
|
.top-bar-left::before {
|
||||||
content: '★';
|
content: '★';
|
||||||
color: #C8973A;
|
color: var(--brand-red);
|
||||||
margin-right: 6px;
|
margin-right: 6px;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
.top-bar-right { display: flex; align-items: center; gap: 6px; }
|
.top-bar-right { display: flex; align-items: center; gap: 6px; }
|
||||||
.top-link { color: rgba(255,255,255,0.65); transition: color 0.2s; }
|
.top-link { color: var(--text-muted); transition: color 0.2s; }
|
||||||
.top-link:hover, .clickable:hover { color: #C8973A; cursor: pointer; }
|
.top-link:hover, .clickable:hover { color: var(--brand-red); cursor: pointer; }
|
||||||
.top-divider { color: rgba(255,255,255,0.25); }
|
.top-divider { color: #C9CDD4; }
|
||||||
|
|
||||||
/* 主导航 */
|
/* 主导航 */
|
||||||
.main-header {
|
.main-header {
|
||||||
background: linear-gradient(180deg, #1A1A1A 0%, #0F0F0F 100%);
|
background: #FFFFFF;
|
||||||
box-shadow: 0 4px 20px rgba(0,0,0,0.1);
|
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
|
||||||
}
|
}
|
||||||
.header-inner {
|
.header-inner {
|
||||||
max-width: 1280px;
|
max-width: 1280px;
|
||||||
|
|
@ -174,28 +174,29 @@ a { text-decoration: none; }
|
||||||
.emblem-ring {
|
.emblem-ring {
|
||||||
width: 48px; height: 48px;
|
width: 48px; height: 48px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 2px solid #C8973A;
|
border: 2px solid var(--brand-red);
|
||||||
background: linear-gradient(135deg, rgba(200,151,58,0.15), rgba(200,151,58,0.05));
|
background: linear-gradient(135deg, rgba(200,22,29,0.12), rgba(200,22,29,0.04));
|
||||||
display: flex; align-items: center; justify-content: center;
|
display: flex; align-items: center; justify-content: center;
|
||||||
box-shadow: 0 0 16px rgba(200,151,58,0.3), inset 0 0 8px rgba(200,151,58,0.1);
|
box-shadow: 0 0 16px rgba(200,22,29,0.25), inset 0 0 8px rgba(200,22,29,0.08);
|
||||||
}
|
}
|
||||||
.emblem-char {
|
.emblem-char {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
color: #C8973A;
|
color: var(--brand-red);
|
||||||
letter-spacing: -1px;
|
letter-spacing: -1px;
|
||||||
}
|
}
|
||||||
.logo-text-block { display: flex; flex-direction: column; }
|
.logo-text-block { display: flex; flex-direction: column; }
|
||||||
.logo-title {
|
.logo-title {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
color: #FFFFFF;
|
color: var(--text-main);
|
||||||
letter-spacing: 0.15em;
|
letter-spacing: 0.15em;
|
||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
}
|
}
|
||||||
.logo-sub {
|
.logo-sub {
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
color: rgba(200,151,58,0.7);
|
color: var(--brand-red);
|
||||||
|
opacity: 0.75;
|
||||||
letter-spacing: 0.2em;
|
letter-spacing: 0.2em;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
@ -210,7 +211,7 @@ a { text-decoration: none; }
|
||||||
.nav-link {
|
.nav-link {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 8px 20px;
|
padding: 8px 20px;
|
||||||
color: rgba(255,255,255,0.75);
|
color: var(--text-muted);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
letter-spacing: 0.08em;
|
letter-spacing: 0.08em;
|
||||||
transition: color 0.2s;
|
transition: color 0.2s;
|
||||||
|
|
@ -221,21 +222,21 @@ a { text-decoration: none; }
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 4px; left: 50%; right: 50%;
|
bottom: 4px; left: 50%; right: 50%;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
background: #C8973A;
|
background: var(--brand-red);
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
transition: left 0.25s ease, right 0.25s ease;
|
transition: left 0.25s ease, right 0.25s ease;
|
||||||
}
|
}
|
||||||
.nav-link:hover { color: #fff; }
|
.nav-link:hover { color: var(--brand-red); }
|
||||||
.nav-link:hover::after, .nav-link.active::after { left: 20%; right: 20%; }
|
.nav-link:hover::after, .nav-link.active::after { left: 20%; right: 20%; }
|
||||||
.nav-link.active { color: #C8973A; font-weight: 600; }
|
.nav-link.active { color: var(--brand-red); font-weight: 600; }
|
||||||
|
|
||||||
/* 操作区 */
|
/* 操作区 */
|
||||||
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }
|
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }
|
||||||
.btn-ghost {
|
.btn-ghost {
|
||||||
padding: 7px 20px;
|
padding: 7px 20px;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: 1px solid rgba(255,255,255,0.35);
|
border: 1px solid var(--border);
|
||||||
color: rgba(255,255,255,0.85);
|
color: var(--text-main);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
@ -243,7 +244,7 @@ a { text-decoration: none; }
|
||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
}
|
}
|
||||||
.btn-ghost:hover { border-color: #C8973A; color: #C8973A; }
|
.btn-ghost:hover { border-color: var(--brand-red); color: var(--brand-red); }
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
padding: 7px 20px;
|
padding: 7px 20px;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
|
|
@ -261,24 +262,24 @@ a { text-decoration: none; }
|
||||||
.user-badge {
|
.user-badge {
|
||||||
display: flex; align-items: center; gap: 8px;
|
display: flex; align-items: center; gap: 8px;
|
||||||
padding: 6px 14px;
|
padding: 6px 14px;
|
||||||
background: rgba(255,255,255,0.08);
|
background: var(--brand-red-bg);
|
||||||
border: 1px solid rgba(255,255,255,0.15);
|
border: 1px solid var(--border);
|
||||||
border-radius: 24px;
|
border-radius: 24px;
|
||||||
}
|
}
|
||||||
.user-avatar {
|
.user-avatar {
|
||||||
width: 26px; height: 26px;
|
width: 26px; height: 26px;
|
||||||
background: #D4D4D4;
|
background: var(--brand-red);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
display: flex; align-items: center; justify-content: center;
|
display: flex; align-items: center; justify-content: center;
|
||||||
font-size: 12px; font-weight: 700; color: #fff;
|
font-size: 12px; font-weight: 700; color: #fff;
|
||||||
}
|
}
|
||||||
.user-name { color: rgba(255,255,255,0.85); font-size: 13px; }
|
.user-name { color: var(--text-main); font-size: 13px; }
|
||||||
|
|
||||||
/* 底线装饰 */
|
/* 底线装饰 */
|
||||||
.header-underline { height: 3px; background: #0F0F0F; }
|
.header-underline { height: 3px; background: #FFFFFF; }
|
||||||
.underline-fill {
|
.underline-fill {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: linear-gradient(90deg, #C8973A 0%, #D4AF37 100%);
|
background: var(--brand-red);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 内容区 — top-bar(~28px) + header(72px) + underline(3px) = ~103px */
|
/* 内容区 — top-bar(~28px) + header(72px) + underline(3px) = ~103px */
|
||||||
|
|
@ -299,8 +300,8 @@ a { text-decoration: none; }
|
||||||
|
|
||||||
/* 页脚 */
|
/* 页脚 */
|
||||||
.portal-footer {
|
.portal-footer {
|
||||||
background: #1A1A1A;
|
background: #1D2129;
|
||||||
border-top: 3px solid #C8973A;
|
border-top: 3px solid var(--brand-red);
|
||||||
padding: 20px 0;
|
padding: 20px 0;
|
||||||
}
|
}
|
||||||
.footer-inner {
|
.footer-inner {
|
||||||
|
|
@ -318,8 +319,8 @@ a { text-decoration: none; }
|
||||||
}
|
}
|
||||||
.f-emblem {
|
.f-emblem {
|
||||||
width: 28px; height: 28px; border-radius: 50%;
|
width: 28px; height: 28px; border-radius: 50%;
|
||||||
border: 1px solid #C8973A;
|
border: 1px solid var(--brand-red);
|
||||||
color: #C8973A; font-weight: 900; font-size: 13px;
|
color: var(--brand-red); font-weight: 900; font-size: 13px;
|
||||||
display: flex; align-items: center; justify-content: center;
|
display: flex; align-items: center; justify-content: center;
|
||||||
}
|
}
|
||||||
.footer-copy {
|
.footer-copy {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue