layout-spacing.css 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /**
  2. * 全局布局边距系统
  3. * Global Layout Spacing System
  4. *
  5. * 统一的左右边距规范,确保所有页面排版整齐美观
  6. * 适用于桌面端(Desktop),移动端保持原有样式
  7. */
  8. /* ===== CSS 变量定义 ===== */
  9. :root {
  10. /* 容器最大宽度 */
  11. --container-max-width: 1200px;
  12. /* 桌面端左右边距 */
  13. --desktop-padding-x: 40px;
  14. /* 平板端左右边距 */
  15. --tablet-padding-x: 20px;
  16. /* 移动端左右边距(如需要) */
  17. --mobile-padding-x: 15px;
  18. /* 区块垂直间距 */
  19. --section-spacing-y: 80px;
  20. /* 小区块垂直间距 */
  21. --subsection-spacing-y: 40px;
  22. }
  23. /* ===== 通用容器类 ===== */
  24. /* 主容器 - 限制最大宽度并居中 */
  25. .l-container {
  26. max-width: var(--container-max-width);
  27. margin-left: auto;
  28. margin-right: auto;
  29. padding-left: var(--desktop-padding-x);
  30. padding-right: var(--desktop-padding-x);
  31. box-sizing: border-box;
  32. }
  33. /* 全宽容器 - 仅应用左右内边距 */
  34. .l-container-fluid {
  35. padding-left: var(--desktop-padding-x);
  36. padding-right: var(--desktop-padding-x);
  37. box-sizing: border-box;
  38. }
  39. /* 无左右内边距的容器 */
  40. .l-container-none {
  41. padding-left: 0;
  42. padding-right: 0;
  43. }
  44. /* ===== 响应式断点 ===== */
  45. /* 平板端 (768px - 1199px) */
  46. @media (max-width: 1199px) {
  47. :root {
  48. --desktop-padding-x: 20px;
  49. }
  50. .l-container {
  51. padding-left: var(--tablet-padding-x);
  52. padding-right: var(--tablet-padding-x);
  53. }
  54. .l-container-fluid {
  55. padding-left: var(--tablet-padding-x);
  56. padding-right: var(--tablet-padding-x);
  57. }
  58. }
  59. /* 移动端 (< 768px) - 保持原有 Bootstrap 样式 */
  60. @media (max-width: 767px) {
  61. :root {
  62. --desktop-padding-x: var(--mobile-padding-x);
  63. --tablet-padding-x: var(--mobile-padding-x);
  64. }
  65. }
  66. /* ===== 区块间距 ===== */
  67. /* 大区块间距 (80px) */
  68. .l-section {
  69. padding-top: var(--section-spacing-y);
  70. padding-bottom: var(--section-spacing-y);
  71. }
  72. /* 小区块间距 (40px) */
  73. .l-subsection {
  74. padding-top: var(--subsection-spacing-y);
  75. padding-bottom: var(--subsection-spacing-y);
  76. }
  77. /* 顶部无间距 */
  78. .l-section--no-top {
  79. padding-top: 0;
  80. }
  81. /* 底部无间距 */
  82. .l-section--no-bottom {
  83. padding-bottom: 0;
  84. }
  85. /* ===== 内容对齐工具类 ===== */
  86. /* 文本内容最大宽度 */
  87. .l-content {
  88. max-width: 800px;
  89. margin-left: auto;
  90. margin-right: auto;
  91. }
  92. /* 居中对齐 */
  93. .l-align-center {
  94. text-align: center;
  95. }
  96. /* 两端对齐 */
  97. .l-align-justify {
  98. text-align: justify;
  99. }
  100. /* ===== 网格系统间距 ===== */
  101. /* 行间距 */
  102. .l-row {
  103. display: flex;
  104. flex-wrap: wrap;
  105. margin-left: -15px;
  106. margin-right: -15px;
  107. }
  108. /* 列间距 */
  109. .l-col {
  110. padding-left: 15px;
  111. padding-right: 15px;
  112. box-sizing: border-box;
  113. }
  114. /* ===== 特殊场景 ===== */
  115. /* Banner/轮播图全宽 */
  116. .l-banner {
  117. padding-left: 0;
  118. padding-right: 0;
  119. }
  120. /* 导航栏边距 */
  121. .l-navbar {
  122. padding-left: var(--desktop-padding-x);
  123. padding-right: var(--desktop-padding-x);
  124. }
  125. /* Footer 边距 */
  126. .l-footer {
  127. padding-left: var(--desktop-padding-x);
  128. padding-right: var(--desktop-padding-x);
  129. }
  130. /* ===== 打印样式 ===== */
  131. @media print {
  132. .l-container,
  133. .l-container-fluid {
  134. padding-left: 0;
  135. padding-right: 0;
  136. max-width: 100%;
  137. }
  138. }