IE 11 中 flex unset 和 flex none 之间的区别

Posted

技术标签:

【中文标题】IE 11 中 flex unset 和 flex none 之间的区别【英文标题】:Difference between flex unset and flex none with IE 11 【发布时间】:2019-08-23 22:56:44 【问题描述】:

flex: unsetflex: none 有什么区别?我找不到任何具体的文档来说明flex: unset 的实际作用。此外,flex: unset 似乎在 IE 11 中不起作用。

对于某些内容,我们最近在 IE 11 上遇到了一个问题,其中我们有一些具有 flex: 1 0 auto 的类 .cta-button,当我们添加类 .flex-unset 时,它会设置 flex: unset 并覆盖 flex: 1 0 auto。这适用于 Chrome、Firefox 和 Edge,但不适用于 IE 11。对于 IE 11,我们必须设置 flex: none 而不是 flex: unset

【问题讨论】:

简而言之:IE 无论如何都不支持 unset。见caniuse.com/#search=unset developer.mozilla.org/en-US/docs/Web/CSS/unset unset IE 不支持,使用 none 太棒了,谢谢!我不敢相信我没有检查caniuse。我刚刚离开谷歌和developer.mozilla.org/en-US/docs/Web/CSS/flex,但从未进入特定的未设置页面。 如果浏览器同时支持两者,unset 会重置为继承的值,或者如果没有继承默认值 (0 1 auto),则 none 会将值设置为 none 值 (0 0 auto) 【参考方案1】:

理解差异的关键在于了解 unset 通常的实际作用。

unset 只是使用继承和初始的混合体。

https://developer.mozilla.org/en-US/docs/Web/CSS/unset

如果您在该页面上向下滚动可以看到,IE 不支持取消设置。如果你知道你的类没有继承 flex 属性,你可以将 flex 设置为 initial。

【讨论】:

以上是关于IE 11 中 flex unset 和 flex none 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Flex-direction 列使 flex 项目重叠 IE11

在 IE11 中与显示重叠的行:flex

flex-grow 在 Internet Explorer 11 (IE11) 中无法正确呈现

最大宽度在 IE11 的 flex-box 中无法正常工作

IE11中的Flex项目重叠项目

Flex 流在 IE11 中不起作用