199 lines
5.6 KiB
Plaintext
199 lines
5.6 KiB
Plaintext
// 门户页边距:Figma 1440 画布 · 1200 版心 · 左右各 120px 自适应留白
|
||
@import './portal-landing-hub-layout.less';
|
||
@import './home-figma-variables.less';
|
||
|
||
.home-figma-scale-nav();
|
||
|
||
:root {
|
||
--page-content-max-width: 1200px;
|
||
/* Figma 导航 logo:图标区 34px + 与字间距 12px → 「可」字左缘距版心左 46px */
|
||
--page-nav-logo-icon-box: 34px;
|
||
--page-nav-logo-gap: 12px;
|
||
--page-content-align-x: calc(
|
||
var(--page-nav-padding-left) + var(--page-nav-logo-icon-box) + var(--page-nav-logo-gap)
|
||
);
|
||
/* 区块标题 / Tab / 列表与导航「可」字左缘对齐 */
|
||
--page-gutter-x: var(--page-content-align-x);
|
||
--page-section-title-padding-left: var(--page-content-align-x);
|
||
/* 导航 logo 图标左缘贴版心左(「可」字由上方 align-x 统一定位) */
|
||
--page-nav-padding-left: 0px;
|
||
/* 大标题与下方 UI 间距(与共性能力屏一致) */
|
||
--page-block-title-to-content-gap: 45px;
|
||
/* 版心内标题相对 gutter 的额外内缩 */
|
||
--page-block-title-inset-extra: calc(var(--page-section-title-padding-left) - var(--page-gutter-x));
|
||
--page-section-padding-y: 64px;
|
||
--page-block-margin-bottom: 64px;
|
||
/* Figma 导航栏 1:807:高 64px;菜单组内间距加宽,登录仍靠右 */
|
||
--page-nav-height: 64px;
|
||
--page-nav-logo-menu-gap: 0px;
|
||
--page-nav-item-gap: 16px;
|
||
--page-nav-item-padding-x: 12px;
|
||
--page-nav-active-bar-height: 3px;
|
||
--page-nav-color: #003b1a;
|
||
--page-offset-top: var(--page-nav-height);
|
||
/* Figma 页脚:主区 #f0f7f2、底栏 #e2ede5,与导航/内容版心对齐 */
|
||
--page-footer-bg: #f0f7f2;
|
||
--page-footer-bar-bg: #e2ede5;
|
||
--page-footer-title-color: #003b1a;
|
||
--page-footer-text-color: #556659;
|
||
--page-footer-padding-y: 40px;
|
||
--page-footer-bar-padding-y: 12px;
|
||
--page-footer-title-gap: 12px;
|
||
--page-footer-link-gap: 8px;
|
||
/* 与首屏 .top-title 距顶一致,各屏区块大标题上方留白 */
|
||
--page-hero-title-offset-top: 128px;
|
||
--page-section-title-top: 100px;
|
||
|
||
/* 服务中心四宫格单卡尺寸(与版心同宽) */
|
||
--portal-services-grid-max: var(--page-content-max-width);
|
||
--portal-services-grid-gap: 24px;
|
||
--portal-services-fwsc-cols: 4;
|
||
/* 1400px 版心下的参考宽度;实际列宽请用 --portal-service-card-col-width(随网格 100% 缩放) */
|
||
--portal-service-card-width: calc(
|
||
(var(--portal-services-grid-max) - (var(--portal-services-fwsc-cols) - 1) * var(--portal-services-grid-gap))
|
||
/ var(--portal-services-fwsc-cols)
|
||
);
|
||
/* 与 fwsc 单卡内容区同高(padding 56 + 标题区 72 + 描述 ~76 + 按钮 40) */
|
||
--portal-service-card-min-height: 268px;
|
||
}
|
||
|
||
@media screen and (max-width: 1279px) {
|
||
:root {
|
||
--page-nav-padding-left: 40px;
|
||
--page-section-padding-y: 48px;
|
||
--page-nav-height: 64px;
|
||
--page-nav-logo-menu-gap: 80px;
|
||
--page-nav-item-gap: 28px;
|
||
--page-nav-item-padding-x: 10px;
|
||
--page-hero-title-offset-top: 96px;
|
||
--page-section-title-top: 96px;
|
||
}
|
||
}
|
||
|
||
@media screen and (min-width: 768px) and (max-width: 1023px) {
|
||
:root {
|
||
--portal-services-fwsc-cols: 2;
|
||
--portal-services-grid-gap: 20px;
|
||
--page-section-padding-y: 48px;
|
||
}
|
||
}
|
||
|
||
@media screen and (max-width: 767px) {
|
||
:root {
|
||
--page-nav-padding-left: 16px;
|
||
--page-gutter-x: 16px;
|
||
--page-content-align-x: 16px;
|
||
--page-section-title-padding-left: 16px;
|
||
--page-content-max-width: 100%;
|
||
--page-section-padding-y: 40px;
|
||
--page-nav-height: 56px;
|
||
--page-hero-title-offset-top: 72px;
|
||
--page-section-title-top: 72px;
|
||
--portal-services-fwsc-cols: 1;
|
||
--portal-services-grid-gap: 12px;
|
||
}
|
||
}
|
||
|
||
@media screen and (max-width: 480px) {
|
||
:root {
|
||
--page-gutter-x: 16px;
|
||
--page-nav-padding-left: 16px;
|
||
--page-hero-title-offset-top: 56px;
|
||
--page-section-title-top: 56px;
|
||
}
|
||
}
|
||
|
||
@media screen and (max-width: 360px) {
|
||
:root {
|
||
--page-gutter-x: 12px;
|
||
--page-nav-padding-left: 12px;
|
||
}
|
||
}
|
||
|
||
@media screen and (min-width: 1920px) {
|
||
:root {
|
||
--page-content-max-width: 1200px;
|
||
}
|
||
}
|
||
|
||
.page-content-wrap {
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
max-width: var(--page-content-max-width);
|
||
margin-left: auto;
|
||
margin-right: auto;
|
||
padding-left: var(--page-gutter-x);
|
||
padding-right: var(--page-gutter-x);
|
||
}
|
||
|
||
.page-nav-inner {
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
max-width: var(--page-content-max-width);
|
||
margin-left: auto;
|
||
margin-right: auto;
|
||
padding-left: var(--page-nav-padding-left);
|
||
padding-right: var(--page-nav-padding-left);
|
||
}
|
||
|
||
/* 首页全宽背景区块:突破 .container 80% 限制 */
|
||
.home-section-bleed() {
|
||
width: 100vw;
|
||
max-width: none;
|
||
margin-left: calc(50% - 50vw);
|
||
margin-right: calc(50% - 50vw);
|
||
}
|
||
|
||
// =============================================================================
|
||
// 门户内页:唯一滚动容器为 .content-wrap,页脚为滚动内容最后一项
|
||
// =============================================================================
|
||
|
||
@media screen and (min-width: 768px) {
|
||
html,
|
||
body {
|
||
height: 100%;
|
||
overflow: hidden;
|
||
}
|
||
|
||
#app,
|
||
.portal-app-root {
|
||
height: 100%;
|
||
overflow: hidden;
|
||
}
|
||
}
|
||
|
||
.content-wrap--portal {
|
||
background: #f6f7fa;
|
||
}
|
||
|
||
/* 短页:栈高度至少铺满滚动区,页脚贴底;长页:随内容增高,不在页脚后留白 */
|
||
.portal-page-stack {
|
||
display: flex;
|
||
flex-direction: column;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-height: 100%;
|
||
}
|
||
|
||
.portal-page-stack .portal-route-outlet {
|
||
flex: 1 1 auto;
|
||
width: 100%;
|
||
min-height: auto;
|
||
}
|
||
|
||
.portal-page-stack .portal-layout-footer {
|
||
flex-shrink: 0;
|
||
width: 100%;
|
||
}
|
||
|
||
.portal-route-outlet-wrap {
|
||
width: 100%;
|
||
min-height: 100%;
|
||
}
|
||
|
||
.portal-page-shell {
|
||
display: block;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
}
|