ie11中flex: 1解析为flex: 1 1 0%而非auto,导致换行失效、拉伸失败、文字省略不触发;应显式写flex: 0 0 33.333%、配合box-sizing: border-box及-ms-flex前缀,并在响应式断点中重写flex-basis。

flex: 1 在 IE11 中被解析为 flex: 1 1 0%,不是 auto
标准浏览器里 flex: 1 展开为 flex: 1 1 auto,IE11 却硬生生当成 flex: 1 1 0%(或 0px)。这个 0% 是所有问题的起点:它让子项失去宽度/高度基准,导致 flex-wrap: wrap 失效、align-items: stretch 不拉伸、文字省略不触发。
- 别写
flex: 1或flex: 1 1 auto—— IE11 部分版本会把auto当成0,直接跳过弹性计算 - 想等分又换行?显式写
flex: 0 0 33.333%(三栏)或flex: 0 0 50%(两栏),小数点不能省,33%可能被截断为0 - 必须配
box-sizing: border-box,否则padding和border会让实际宽度超 100%
column 方向下 flex-basis 控制的是高度,但 IE11 把 auto 当成 0
当 flex-direction: column 时,flex-basis 对应子项初始高度。IE11 不按标准走:flex-basis: auto 或省略该值,常被解析为 0px,子项直接塌成一条线。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- 正确组合是:
flex-basis: 0px(带单位防压缩工具误删) +flex-grow: 1+min-height: 0(关键!覆盖默认的min-height: auto) - 父容器必须有交叉轴约束:哪怕只加
min-height: 1px,也能让 IE11 启动stretch逻辑 - 直接写
height: 100%给子项反而锁死高度,禁用align-items: stretch,且 IE11 百分比继承极脆弱
-ms-flex 声明漏写或顺序错,整个 Flex 上下文就失效
IE10/11 不认标准 flex 属性,只识别 -ms-flex,而且对参数顺序极其敏感。漏掉前缀、写错位置,后面所有设置都白搭。
- IE10 必须写
display: -ms-flexbox;IE11 可用display: -ms-flexbox或display: -ms-flex,但推荐统一用前者 -
-ms-flex: 1是最简可靠写法;-ms-flex: 1 1 auto在部分 IE11 版本会失效,改用-ms-flex: 1 1 0%更稳 - 不要混用标准属性和前缀属性做 fallback——IE11 会优先读
-ms-flex,但若它语法错误,就直接放弃整条规则
响应式断点里 flex-basis 不自动更新,必须显式重写
IE11 不会动态重算已渲染的 flex-basis 值。桌面端设了 flex-basis: 33.333%,切到移动端后,即使媒体查询生效,IE 仍沿用旧值,列数错乱、内容溢出。
- 每个关键断点都得重复声明:
@media (max-width: 768px) { .item { flex-basis: 100%; } } - 别指望
calc()在flex-basis里工作——IE11 对它的支持极差,尤其涉及百分比混合运算时 - 文字省略失效、图标塌陷、
el-step错位,往往不是样式没加对,而是flex-basis这第一环崩了,后面全乱套
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










