是否有任何支持Flexbox(2012,css3)的javascript代码(polyfill),如modernizr?

时间:2013-01-17 18:57:51

标签: javascript html5 css3 flexbox polyfills

我正在寻找任何类似modernizr(实际上不)的javascript库为“旧浏览器”启用flexbox( polyfill )。

是的,我知道这是一个非常新的功能(事实上“没有”是一个有效的答案),但我希望这样的事情,我总是很难有水平+垂直居中,这真的会帮助和缩短工作。

我的意思是这个flexbox:http://weblog.bocoup.com/dive-into-flexbox/(最新的)

2 个答案:

答案 0 :(得分:4)

这可能是too early。 WebKit最近实现了它,在任何移动WebKit中都没有任何暗示支持,Opera 只是发布了对它的支持,而Gecko的实现仍然是alpha版。 IE浏览器?哈

但据我所知,不,新的flexbox没有polyfill。 Flexie支持旧的flexbox,并且ticket打开以支持新语法...也许你可以帮助他们?

我想你总是可以使用旧的flexbox,但是你已经过时了。 Sucky情况。

答案 1 :(得分:1)

你将不得不创建自己的。 http://www.sitepoint.com/detect-css3-property-browser-support/有一个标题为“滚动自己的检测代码”的部分

基本上你需要这样的东西:

// detect CSS display:flex support in JavaScript
var detector = document.createElement("detect");
detector.style.display = "flex";
if (detector.style.display === "flex") {
    console.log("Flex is supported");
}
else
{
    console.log("Flex is not supported");
}

要扩展它并创建一个函数:

function DetectDisplayValue(val)
{
  // detect CSS display:val support in JavaScript
  // 
  var detector = document.createElement("detect");
  detector.style.display = val;
  if (detector.style.display === val) {
    console.log("Display value: " + val + " is supported");
  }
  else
  {
      console.log("Display value: " + val + " is not supported");
  }
}