移动端表单错位主因是固定宽度、浮动布局或视口未适配;应设正确viewport,用Flex布局替代float,分层Media Query响应(≤480px竖排、481–768px两列、≥769px水平对齐),并重置box-sizing与字体单位。
移动端表单错位,多数是因为固定宽度、浮动布局或未适配视口导致的。用 Flex 布局 + Media Query 是最稳妥的解法——不依赖 JS,语义清晰,兼容性好(iOS Safari / Android Chrome 都支持)。
这是前提,漏掉这步,后续所有 flex 调整都可能失效:
→ 在 中加入:
避免用 float 或 inline-block 排列 label 和 input,改用 flex 容器控制流向和换行:
.form-group)设 display: flex,方向为 column(竖排),适合小屏width: 100%,靠 flex: 1 或 min-width: 0 防止溢出justify-content: space-between,但仅在 >= 480px 的断点启用不要只写一个断点,按设备习惯分层处理:
margin-top: 0.5rem 隔开flex-direction: row; flex-wrap: wrap,每项 flex: 0 0 49%
align-items: center 垂直居中
这些小地方最容易被忽略,却直接导致错位:
box-sizing: border-box
px,改用 rem 或 em,配合根字体缩放(html { font-size: 16px; } → @media (max-width: 480px) { html { font-size: 14px; } })float: right,立刻删掉,换成 margin-left: auto 或 justify-content: flex-end