根据W3C CR(显示器:flex等),当前的CSS Flexible Box Layout Module是否有任何polyfill?

时间:2012-12-18 14:03:15

标签: javascript css css3 flexbox

Flexiejs.com具有用于CSS弹性框的浏览器polyfill,但它基于该主题的早期草案,这与当前的W3C候选推荐CSS Flexible Box Layout Module不兼容。 CR中定义的柔性箱是否有任何填充物,至少是部分填充物?

3 个答案:

答案 0 :(得分:14)

2014年更新回答

简而言之:在撰写本文时(2014年10月),没有实现W3C候选推荐标准的javascript polyfill。

有2个javascript polyfill实现:

  1. Flexie.js自2012年中期以来几乎没有任何更新 - see the contribution graph - 支持 2009 Flexbox模型,这意味着有限的财产。

  2. Reflexie.js在撰写本文时(2014年10月)仍未受到影响,正如Ilya Streltsyn在另一个答案的评论"it's still 'Sooooo not ready for prime-time'" as the author stated on the main page of the project中所指出的那样。最新提交于2012年11月1日...

  3. <强>资源

答案 1 :(得分:8)

目前还没有实现W3C候选推荐标准的polyfill。

flexie.js的作者前段时间曾提到他正在更新flexie.js,但从那时起就没有任何出版物。因此很难说它是否或何时会实际实现。

答案 2 :(得分:6)

Chris Coyier有一个很棒的资源:

http://css-tricks.com/using-flexbox/

问题是flexbox使用了三个草稿。 Chris Coyier的文章讨论了所有三个版本以及如何交叉它们以实现跨浏览器支持。我摘录了下面的相关内容。

display:flex

display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
display: -ms-flexbox;      /* TWEENER - IE 10 */
display: -webkit-flex;     /* NEW - Chrome */
display: flex;

flex:1

-webkit-box-flex: 1;      /* OLD - iOS 6-, Safari 3.1-6 */
-moz-box-flex: 1;         /* OLD - Firefox 19- */
width: 20%;               /* For old syntax, otherwise collapses. */
-webkit-flex: 1;          /* Chrome */
-ms-flex: 1;              /* IE 10 */
flex: 1;                  /* NEW, Spec - Opera 12.1, Firefox 20+ */

order:1

-webkit-box-ordinal-group: 1;  
-moz-box-ordinal-group: 1;     
-ms-flex-order: 1;     
-webkit-order: 1;  
order: 1;

他声称支持:

  • Chrome any
  • Firefox any
  • Safari any
  • Opera 12.1 +
  • IE 10 +
  • iOS any
  • Android any

我认为其余的flexbox属性未经过修订,因此您只需使用“标准”前缀集(-ms-moz-webkit,无前缀)。