txw/txw-mhzc-web/src/pages/index/styles/page-layout.less

199 lines
5.6 KiB
Plaintext
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.

// 门户页边距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%;
}