2025-07-16
设备类型 | 核心痛点 | 适配方法 |
---|---|---|
手机(竖屏) | 宽度有限,易出现文字断裂 | 1. 文本段落:禁用 “强制两端对齐”,优先 “左对齐”;仅对短模块(如表单 2 列字段)用两端对齐; 2. 避免 “孤行 / 孤字”:通过 CSS 的 orphans: 2 (控制段落末尾少 2 行)、widows: 2 (控制段落开头少 2 行)防止单字换行;3. 模块适配:表单、数据列表等模块用 “100% 宽度 + 内边距”,避免左右留白不均。 |
手机(横屏) | 宽度增加,文本行可能过长 | 1. 文本块设置 “大宽度”(如 600px),并居中显示,避免拉伸过宽; 2. 多列模块(如 2 列卡片):用 “弹性布局 + 固定间距”,确保两端对齐时列宽均匀,无挤压 / 空白。 |
平板(竖 / 横屏) | 介于手机和电脑之间,需平衡 | 1. 文本段落:横屏时可启用两端对齐(单行长控制在 30-40 字),竖屏时参考手机逻辑; 2. 复杂模块(如表格、多列表单):用 “响应式网格”,横屏时多列对齐,竖屏时自动折叠为单列(仍保持单列内两端对齐)。 |
电脑(大屏) | 宽度充足,易出现 “过度空白” | 1. 文本容器设置 “大宽度”(如 1200px),并居中,两端对齐仅作用于容器内内容; 2. 多模块组合(如顶部导航栏、底部信息栏):用 “flex 布局 + justify-content: space-between”,确保左右模块分别对齐容器两端,中间无多余空白; 3. 避免 “强制拉伸”:若模块内元素数量少(如仅 2 个按钮),不强行两端对齐,可改用 “左对齐 + 右对齐”(分别贴边),防止中间间距过大。 |
需求场景 | CSS 属性组合 | 说明 |
---|---|---|
文本段落两端对齐 | text-align: justify; + text-justify: inter-character; (中文) |
- text-align: justify :基础两端对齐;- text-justify: inter-character :中文场景下让字符间距均匀,避免 “局部间距过大”(需配合text-align-last: left ,让段落后一行左对齐,防止单独一行两端对齐显怪异)。 |
模块 / 元素两端对齐 | display: flex; + justify-content: space-between; + flex-wrap: wrap; |
- 适用于导航栏、表单行、卡片组等非文本模块; - flex-wrap: wrap :确保小屏时元素自动换行,仍保持每行两端对齐(例:4 列卡片在手机, 端换行成 2 列,每列仍贴边对齐)。 |
控制文本行宽 / 换行 | max-width: 1200px; + min-width: 320px; + word-break: keep-all; |
- word-break: keep-all :中文不允许单字换行,英文不允许单词拆分;- 配合 margin: 0 auto ,让文本容器居中,两端对齐仅作用于容器内。 |
适配不同屏幕尺寸 | @media (max-width: 768px) { ... } (媒体查询) |
例:大屏时表单用flex: space-between 两端对齐(2 列),小屏时改为flex-direction: column (1 列),并保持单列内text-align: justify 。 |
text-align: justify
直接作用于短文本(如标题),会导致字符间距过大;flex
实现模块两端对齐时,需给子元素设置 “小宽度”(如min-width: 120px
),防止小屏时元素被压缩到消失;-ms-text-justify: distribute-all-lines
),或改用flex
替代text-align: justify
。