CSS3弹性布局怎么兼容IE(11)?

本文讲述了在使用CSS3弹性布局(Flexbox)时遇到的IE11兼容性问题。作者试图通过设置display: flex实现输入框容器的布局,但在IE11下水平方向未能正确居中。尽管MDN Web文档显示IE11支持Flexbox,但实际效果不理想。尝试添加前缀无效后,作者选择使用绝对定位作为替代解决方案,并欢迎读者分享解决Flexbox在IE11兼容性的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

弹性布局(Flexbox)确实为我们构建复杂、灵活的布局带来了很大的便利,但是它的兼容性确实让人很头痛,下面是我遇到的一个问题:

理想效果:


IE11效果:


html大概结构:

<div class="box">
	<div class="input-container">
		<input />
		<div class="tooltip"></div>
	</div>
	<button></button>
</div>

这里大致说一下css,input-container宽高没设死,由input决定,并设置position: relative;相对定位,并采用display: flex;弹性布局。tooltip设置绝对定位,通过top调整垂直位置,由input-container的弹性布局属性设置水平居中(是不是觉得我很作死,为什么不直接用绝对定位就把垂直水平都搞定了。哈哈,一切源于一颗装B+傻B的心,不过,能实际体会一下flexbox带来的问题,我觉得也挺好的)。


结果在chrome下正常,IE11下就成上图那样了,我上MDN Web看了一下,说弹性布局是支持IE11的(下图),但是从上图来看,IE下垂直方向是对的,但是水平方向却不对,说明flexbox还是没被支持,我也尝试着添加了各种前缀,还是不行。


最后,还是选择用绝对定位解决了这个问题。可能是我资料查的不够,如果各位有flexbox兼容IE的方法,敬请告知,谢谢!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值