IE11中flex布局兼容问题总结

flex:1解析问题

原因:

//在谷歌中flex:1;会解析为
flex-grow:1;
flex-shrink:1;
flex-basis:0%;
//在IE中被解析为
flex-grow:1;
flex-shrink:1;
flex-basis:0px;

解决:将flex:1; 更改为flex: 1 1 auto;

父容器中flex-direction:column 和 align-items:center,这俩属性同时存在, 子容器内容过多会溢出容器

原因:
IE中flex-shrink 的默认值为 0,既空间不足,项目不缩小,就算设置flex-shrink:1;,因为上述两个属性同时存在,IE 依旧固执地不缩小这个项目
解决:
给子项目加max-width:100%;或取消其中一个,并把flex-shrink设置为1

flex布局不支持min-height属性

解决办法:设置高度类似height:calc(100% - 100px),减号两边要有空格否则无效

父容器flex-direction:column,img设置宽或高危auto时无法保持宽高比缩放

解决办法:给img包一层div

父容器flex-direction:row,img无法保持宽高比缩放

解决办法:给img包一层div;或容器设置align-items

父容器flex-direction:row,子容器设置flex-basis确切值(auto除外),子容器中 box-sizing:border-box不会生效

解决办法:
● 子容器中flex-basis设置auto,且设置width:100%;
● 给子项再包裹一个容器,把这个容器当成flex容器的子项,在这个容器上设置 flex: 0 0 100%。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在IE浏览器Flex布局存在一些兼容性问题。以下是一些常见的问题和解决方法: 1. Flex容器的宽度问题: 在IE浏览器Flex容器的宽度计算方式与其他浏览器不同。解决方法是给Flex容器添加`width`属性,并设置一个固定的宽度值。 2. Flex项目的对齐问题: 在IE浏览器Flex项目的对齐方式可能会出现问题。解决方法是使用`-ms-`前缀来设置对齐属性,例如`-ms-flex-align`和`-ms-flex-pack`。 3. Flex项目的换行问题: 在IE浏览器Flex项目的换行方式可能会与其他浏览器不同。解决方法是使用`-ms-`前缀来设置换行属性,例如`-ms-flex-wrap`。 4. Flex项目的顺序问题: 在IE浏览器Flex项目的顺序可能会与其他浏览器不同。解决方法是使用`-ms-`前缀来设置项目的顺序属性,例如`-ms-flex-order`。 5. Flex项目的弹性增长问题: 在IE浏览器Flex项目的弹性增长可能会与其他浏览器不同。解决方法是使用`-ms-flex-grow`。 6. Flex项目的弹性缩小问题: 在IE浏览器Flex项目的弹性缩小可能会与其他浏览器不同。解决方法是使用`-ms-`前缀来设置项目的弹性缩小属性,例如`-ms-flex-shrink`。 7. Flex项目的基准值问题: 在IE浏览器Flex项目的基准值可能会与其他浏览器不同。解决方法是使用`-ms-`前缀来设置项目的基准值属性,例如`-ms-flex-basis`。 8. Flex项目的自动尺寸问题: 在IE浏览器Flex项目的自动尺寸计算方式可能会与其他浏览器不同。解决方法是使用`-ms-`前缀来设置项目的自动尺寸属性,例如`-ms-flex`。 这些是一些常见的Flex布局在IE浏览器的兼容性问题和解决方法。根据具体情况,你可以根据需要选择适当的解决方法来解决兼容性问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值