Flexbox 代码适用于除 Safari 之外的所有浏览器。为什么?

新手上路,请多包涵

带有列表标签的网格列,我需要每 3 列以正确的顺序显示,并为每个额外的 HTML 列表元素启用自动宽度。

这是我的例子:

  <style>
        ul {
            margin: 0;
            padding: 0;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
            height: 150px;
            width:auto;
        }

        li {
            float: left;
            display: inline-block;
            list-style: none;
            position: relative;
            height: 50px;
            width: 50px;
        }
    </style>
 <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
    <li>11</li>
    <li>12</li>
    </ul>

这是我迄今为止尝试过的,并且在所有其他浏览器上都可以正常工作,但与 Safari 浏览器不兼容,除非我添加以下内容: display: -webkit-flex;

我想像这样转换输出:

 1 4 7 10
2 5 8 11
3 6 9 12

重要的是我让它适用于 Safari 浏览器,到目前为止我似乎根本无法解决这个问题,我会寻求任何帮助:)

测试链接:

http://jsfiddle.net/rafcastro77/3zd7yspg/59/

原文由 rafcastro77 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 364
1 个回答

Flexbox 是一种 CSS3 技术。这意味着它相对较新,并且一些浏览器不提供对 flex 属性的完全支持。

这是一个破败:

  • IE 8 和 9 支持 flexbox。如果您想在这些浏览器中使用 flex 属性,请不要浪费您的时间。一个 flexbox polyfill 做了一段时间,但效果不佳,不再维护。

  • IE 10 支持 以前版本的 flexbox 并且需要 供应商前缀。请注意,IE10 不支持当前规范中的某些属性(例如 flex-growflex-shrinkflex-basis )。请参阅 Flexbox 2012 属性索引

  • IE 11 很好,但有问题。它基于 当前的 flexbox 标准。有关某些问题,请参阅 此页面 上的 已知问题 选项卡。另请参阅: flex 属性在 IE 中不起作用

  • 使用 Chrome、Firefox 和 Edge,您可以轻松应对。您会发现小错误和不一致之处,但通常可以轻松修复。您需要注意 Implied Minimum Flex Sizing ,它有时会导致大小调整和滚动条问题。

  • Safari 版本 9 及更高版本支持当前不带前缀的 flexbox 规范。但是,较旧的 Safari 版本需要 -webkit- 前缀。有时 min-widthmax-width 会导致对齐问题,可以通过 flex 等效解决。请参阅 Safari 中的 Flex 项目未正确堆叠

有关 flexbox 浏览器支持的完整评论,请参阅此页面: http ://caniuse.com/#search=flex

要快速添加许多(但不一定是全部)供应商前缀,请使用 Autoprefixer 。对于 Safari,请参阅 这篇文章 以了解 -webkit- 某些前缀生成器不包含的前缀。

有关常见 flex 错误及其解决方法的列表,请参阅 Flexbugs

此外,在这个网站上,还有:

原文由 Michael Benjamin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题