在IE10中,此代码无法正常工作:
.flexBox form { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; } .flexBox form input[type=submit] { width: 31px; } .flexBox form input[type=text] { width: auto; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex: auto 1; -moz-flex: auto 1; -ms-flex: auto 1; -o-flex: auto 1; flex: auto 1; }
应该发生的是,input [type = submit]应该是31px宽,输入[type = text]占用窗体中剩余的可用空间。发生什么是input [type = text]只是默认为263px由于某种原因。
这在Chrome和Firefox中正常工作。
解决方法
Flex布局模式在IE中没有(完全)本地支持。 IE10实现了“tween”版本的规范,这是不是最新的,但仍然工作。
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Flexible_boxes
这篇css-Tricks文章有一些建议跨浏览器使用flexBox(包括IE):@H_404_15@http://css-tricks.com/using-flexbox/
编辑:经过多一点研究,IE10 flexBox布局模式实现当前到2012年3月W3C草图规范:http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/
最新的草案是一年左右的最近:http://dev.w3.org/csswg/css-flexbox/