sti*_*ife 2 html css internet-explorer inline flexbox
根据flexbox规范,应该将span flex项(flex容器的子项)转换为display:block
.Internet Explorer 10不应用此转换,因此flexbox不适用于span(内联)元素.
这里codepen的我是什么意思
我可以使用div但我想知道这是否是一个资源管理器错误,如果有一个更好的解决方案,而不是更改HTML代码.
这只是因为IE10发布后,(工作草案)flexbox规范发生了变化.
这是CSS Flexbox工作草案中相关的spec文本块,因为IE10在2012年底发布时存在:
弹性布局算法对弹性项生成的框进行操作.以下每个都成为flex项:
Run Code Online (Sandbox Code Playgroud)[...]
一个匿名块,包裹着一系列连续的非替换内联子元素.
资料来源:http://www.w3.org/TR/2012/WD-css3-flexbox-20120612/#flex-items
A span
是"未替换的内联子元素".所以IE10将span
(和任何相邻的内联内容)包装在匿名块中(与旧规范相匹配),而不是将其转换为块(根据新规范).
我怀疑微软不希望在发布后更改此功能,以避免破坏已经编码的内容以期望IE10中的特定行为.
所以,如果你想写Flexbox的内容的作品都在IE10 和更新的浏览器版本,它可能是最好不要依赖于这种特殊的行为.(要明确;将这些跨度更改为div,或者给它们display:block
,因为你知道它们无论如何都会转换为新浏览器中的块.)
归档时间: |
|
查看次数: |
2071 次 |
最近记录: |