| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- /**
- * 全局布局边距系统
- * Global Layout Spacing System
- *
- * 统一的左右边距规范,确保所有页面排版整齐美观
- * 适用于桌面端(Desktop),移动端保持原有样式
- */
- /* ===== CSS 变量定义 ===== */
- :root {
- /* 容器最大宽度 */
- --container-max-width: 1200px;
-
- /* 桌面端左右边距 */
- --desktop-padding-x: 40px;
-
- /* 平板端左右边距 */
- --tablet-padding-x: 20px;
-
- /* 移动端左右边距(如需要) */
- --mobile-padding-x: 15px;
-
- /* 区块垂直间距 */
- --section-spacing-y: 80px;
-
- /* 小区块垂直间距 */
- --subsection-spacing-y: 40px;
- }
- /* ===== 通用容器类 ===== */
- /* 主容器 - 限制最大宽度并居中 */
- .l-container {
- max-width: var(--container-max-width);
- margin-left: auto;
- margin-right: auto;
- padding-left: var(--desktop-padding-x);
- padding-right: var(--desktop-padding-x);
- box-sizing: border-box;
- }
- /* 全宽容器 - 仅应用左右内边距 */
- .l-container-fluid {
- padding-left: var(--desktop-padding-x);
- padding-right: var(--desktop-padding-x);
- box-sizing: border-box;
- }
- /* 无左右内边距的容器 */
- .l-container-none {
- padding-left: 0;
- padding-right: 0;
- }
- /* ===== 响应式断点 ===== */
- /* 平板端 (768px - 1199px) */
- @media (max-width: 1199px) {
- :root {
- --desktop-padding-x: 20px;
- }
-
- .l-container {
- padding-left: var(--tablet-padding-x);
- padding-right: var(--tablet-padding-x);
- }
-
- .l-container-fluid {
- padding-left: var(--tablet-padding-x);
- padding-right: var(--tablet-padding-x);
- }
- }
- /* 移动端 (< 768px) - 保持原有 Bootstrap 样式 */
- @media (max-width: 767px) {
- :root {
- --desktop-padding-x: var(--mobile-padding-x);
- --tablet-padding-x: var(--mobile-padding-x);
- }
- }
- /* ===== 区块间距 ===== */
- /* 大区块间距 (80px) */
- .l-section {
- padding-top: var(--section-spacing-y);
- padding-bottom: var(--section-spacing-y);
- }
- /* 小区块间距 (40px) */
- .l-subsection {
- padding-top: var(--subsection-spacing-y);
- padding-bottom: var(--subsection-spacing-y);
- }
- /* 顶部无间距 */
- .l-section--no-top {
- padding-top: 0;
- }
- /* 底部无间距 */
- .l-section--no-bottom {
- padding-bottom: 0;
- }
- /* ===== 内容对齐工具类 ===== */
- /* 文本内容最大宽度 */
- .l-content {
- max-width: 800px;
- margin-left: auto;
- margin-right: auto;
- }
- /* 居中对齐 */
- .l-align-center {
- text-align: center;
- }
- /* 两端对齐 */
- .l-align-justify {
- text-align: justify;
- }
- /* ===== 网格系统间距 ===== */
- /* 行间距 */
- .l-row {
- display: flex;
- flex-wrap: wrap;
- margin-left: -15px;
- margin-right: -15px;
- }
- /* 列间距 */
- .l-col {
- padding-left: 15px;
- padding-right: 15px;
- box-sizing: border-box;
- }
- /* ===== 特殊场景 ===== */
- /* Banner/轮播图全宽 */
- .l-banner {
- padding-left: 0;
- padding-right: 0;
- }
- /* 导航栏边距 */
- .l-navbar {
- padding-left: var(--desktop-padding-x);
- padding-right: var(--desktop-padding-x);
- }
- /* Footer 边距 */
- .l-footer {
- padding-left: var(--desktop-padding-x);
- padding-right: var(--desktop-padding-x);
- }
- /* ===== 打印样式 ===== */
- @media print {
- .l-container,
- .l-container-fluid {
- padding-left: 0;
- padding-right: 0;
- max-width: 100%;
- }
- }
|