129 lines
2.8 KiB
Plaintext
129 lines
2.8 KiB
Plaintext
// 通用工具类
|
||
|
||
// 内容容器:设计稿内容宽 1780(x70→1850,specs2 全量复核)
|
||
// 1920 视口下 padding 70 → 内容 1780;窄视口只收窄留白,不产生横向滚动。
|
||
// ⚠️ 不能用固定 70px 留白:窄视口下 1780+140 > 视口宽 → 横向滚动条。
|
||
.container {
|
||
width: 100%;
|
||
max-width: @container-width;
|
||
margin: 0 auto;
|
||
// 留白夹在 16 与 70 之间:(1920 − 1780) / 2 = 70
|
||
padding: 0 clamp(@spacing-base, calc((100% - @page-content) / 2), @page-gutter);
|
||
}
|
||
|
||
// 首页容器:首页设计稿单独基准(内容 1680,留白 120)
|
||
.container--home {
|
||
padding: 0 @home-gutter;
|
||
|
||
@media (max-width: 1919px) {
|
||
padding: 0 @spacing-lg;
|
||
}
|
||
}
|
||
|
||
// ============ 登录 / 注册 / 找回密码(蓝湖设计稿 02·51·54·55) ============
|
||
// 三页共用外壳:左侧 784 品牌渐变面板 + 右侧白底表单区。
|
||
// 各页差异仅在「表单列起点 x」与「垂直顶 y」,由页面级 CSS 变量覆写。
|
||
// 设计稿锚点:面板 (0,0) 784×1080;主标 (257,304) 40/700;标语 (257,715) 22/600。
|
||
.auth-page {
|
||
--auth-form-x: 1022px; // 表单列起点(账号密码登录)
|
||
--auth-form-y: 306px; // 表单列垂直顶
|
||
|
||
position: relative;
|
||
display: flex;
|
||
min-height: 100vh;
|
||
background: @white;
|
||
|
||
&__brand {
|
||
.flex(column, flex-start, flex-start);
|
||
flex: 0 0 @login-brand-width;
|
||
padding: 304px 0 0 257px;
|
||
background: linear-gradient(160deg, @auth-gradient-from 0%, @auth-gradient-to 100%);
|
||
color: @white;
|
||
}
|
||
|
||
&__logo {
|
||
margin: 0;
|
||
font-size: 40px;
|
||
font-weight: 700;
|
||
line-height: 58px;
|
||
color: @white;
|
||
}
|
||
|
||
&__key {
|
||
margin: 26px 0 0;
|
||
font-size: 15px;
|
||
font-weight: 400;
|
||
letter-spacing: 0.5px;
|
||
color: @white;
|
||
}
|
||
|
||
&__slogan {
|
||
margin: 246px 0 0;
|
||
font-size: 22px;
|
||
font-weight: 600;
|
||
line-height: 29px;
|
||
letter-spacing: 8px;
|
||
color: @white;
|
||
}
|
||
|
||
&__guest {
|
||
position: absolute;
|
||
top: 24px;
|
||
right: 16px;
|
||
font-size: 12px;
|
||
font-weight: 400;
|
||
color: #1f2937;
|
||
text-decoration: none;
|
||
transition: color 0.2s;
|
||
|
||
&:hover {
|
||
color: @primary-strong;
|
||
}
|
||
}
|
||
|
||
&__main {
|
||
.flex(column, flex-start, flex-start);
|
||
flex: 1;
|
||
min-width: 0;
|
||
padding: var(--auth-form-y) 0 0 calc(var(--auth-form-x) - @login-brand-width);
|
||
}
|
||
|
||
&__card {
|
||
.flex(column, flex-start, flex-start);
|
||
width: 693px;
|
||
}
|
||
|
||
&__title {
|
||
margin: 0;
|
||
font-size: 34px;
|
||
font-weight: 700;
|
||
line-height: 45px;
|
||
color: #1f2937;
|
||
}
|
||
|
||
&__link {
|
||
color: @primary-strong;
|
||
|
||
&:hover {
|
||
color: @primary-hover;
|
||
}
|
||
}
|
||
}
|
||
|
||
.link {
|
||
cursor: pointer;
|
||
transition: color 0.2s;
|
||
|
||
&:hover {
|
||
color: @primary-color;
|
||
}
|
||
}
|
||
|
||
.text-ellipsis {
|
||
.ellipsis();
|
||
}
|
||
|
||
.text-secondary {
|
||
color: @text-color-secondary;
|
||
}
|