当前位置: 首页 > 面试题库 >

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

夏飞鹏
2023-03-14
问题内容

带有列表标记的网格列,我需要每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浏览器非常重要,我似乎根本无法解决此问题,我会提供任何帮助:)


问题答案:

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

这是一个破败:

  • IE 8和9 不支持flexbox。如果您想在这些浏览器中使用flex属性,请不要浪费时间。一个 Flexbox的填充工具就传开了一段时间,但它没有很好地工作,不再保留。

  • IE 10支持flexbox的早期版本,并需要供应商前缀。要知道,从目前的规范某些属性不支持IE10(例如flex-grow,flex-shrink和flex-basis)。请参阅Flexbox 2012属性索引。

  • IE 11不错,但是有故障。它基于当前的flexbox标准。有关某些问题,请参见本页上的“ 已知问题”标签。另请参阅:flex属性在IE中不起作用

  • 借助Chrome,Firefox和Edge,您将一路顺风。您会发现一些小错误和不一致之处,但通常都有一些简单的修复程序。您需要了解“ 隐含的最小Flex大小”,这有时会导致大小和滚动条问题。

  • Safari 9及更高版本支持当前的flexbox规范,不带前缀。但是,较早的Safari版本需要-webkit-前缀。有时min-width和max-width事业对齐问题可与解决flex当量。请参阅 Flex项目在Safari中无法正确堆叠

有关Flexbox浏览器支持的完整概述,请参见以下页面:http ://caniuse.com/#search=flex

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



 类似资料:
  • 问题内容: 带有列表标签的网格列,我需要每3列以正确的顺序显示,并为每个额外的HTML列表元素启用自动宽度。 这是我的示例: 到目前为止,这是我尝试过的方法,并且在其他所有浏览器上都可以正常使用,但与Safari浏览器不兼容,除非添加以下内容:。 我想这样转换输出: 到目前为止,让此功能适用于Safari浏览器非常重要,我似乎根本无法解决此问题,我会提供任何帮助:) 问题答案: Flexbox是一

  • 问题内容: 以下ajax调用在除IE10之外的所有浏览器中均有效(除非我将其设置为IE9标准模式),我用提琴手来查看它,似乎该参数未在ie10中传递给任何想法? 引发以下错误 问题答案: 这似乎是带有IE10(至少是Windows 7预览版)的jQuery中的错误。POST数据未在请求中发送,我已将错误的详细信息记录到jQuery:http : //bugs.jquery.com/ticket/1

  • 问题内容: 请注意,和现在都弃用(如2018年6月的)。 我一直在寻找一种监视对象或变量更改的简便方法,我发现Mozilla浏览器支持,但IE不支持。所以我开始四处搜寻,看看是否有人写过类似的东西。 我唯一发现的就是jQuery插件,但是我不确定这是否是最好的方法。我当然在我的大多数项目中都使用jQuery,所以我并不担心jQuery方面的问题。 无论如何,问题是:有人可以向我展示该jQuery插

  • 问题内容: 如何使用JavaScript检测Safari浏览器?我在下面尝试过代码,它不仅可以检测Safari,还可以检测Chrome浏览器。 问题答案: 您可以轻松地使用Chrome的索引来过滤掉Chrome:

  • 我正在研究SAML和SSO,看起来使用SAML的应用程序需要是一个web应用程序,并且依赖于浏览器。 有人能告诉我为什么吗? 我对SAML的有限知识告诉我,SAML依赖于会话和cookie,这在桌面应用程序或移动应用程序中是不可用的。这是唯一的原因吗?你能告诉我更多的细节吗?

  • 我正在做一个测试,Firefox如何编码字符。 但事实让我困惑。 超文本标记语言代码: xxx是一些汉字。这些字符必须编码成%xx等格式才能通过HTTP传输。 首先,我用UTF-8编码源文件。使用firefox打开html文件。img标签将发送一个请求,“xxx”字符由UTF8编码。 (用UTF8编码HTML源文件,字符集=UTF8,浏览器用UTF编码URL) 我把meta改成了