GVKun编程网logo

Flexbox代码可在除Safari之外的所有浏览器上使用。为什么?(flexbox不能实现)

24

如果您想了解Flexbox代码可在除Safari之外的所有浏览器上使用。为什么?的相关知识,那么本文是一篇不可错过的文章,我们将对flexbox不能实现进行全面详尽的解释,并且为您提供关于css–Fl

如果您想了解Flexbox代码可在除Safari之外的所有浏览器上使用。为什么?的相关知识,那么本文是一篇不可错过的文章,我们将对flexbox不能实现进行全面详尽的解释,并且为您提供关于css – Flexbox Safari bug(flex-wrap)、css – flexbox vs表,为什么我们需要flexbox?、css – Flexbox在Safari中仍然不稳定,flex-wrap无法正常工作、css – Flexbox:-webkit-box;, – emz-box;, – ms-flexbox; &-webkit-flex;这些是什么?的有价值的信息。

本文目录一览:

Flexbox代码可在除Safari之外的所有浏览器上使用。为什么?(flexbox不能实现)

Flexbox代码可在除Safari之外的所有浏览器上使用。为什么?(flexbox不能实现)

带有列表标签的网格列,我需要每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 102 5 8 113 6 9 12

到目前为止,让此功能适用于Safari浏览器非常重要,我似乎根本无法解决此问题,我会提供任何帮助:)

答案1

小编典典

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中无法正确堆叠

css – Flexbox Safari bug(flex-wrap)

css – Flexbox Safari bug(flex-wrap)

我不知道为什么,但Safari总是错位元素。

苹果浏览器:

Chrome(& others):

码:

<div>
  <div>
    <div>
      <img src="img.jpg" alt="">
      <h3>Name</h3>
      <p>Description</p>
    </div>
  </div>
</div>
<style>
  .flexthis{
    display: -webkit-Box;
    display: -webkit-flex;
    display: -ms-flexBox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .flexthis .col-md-4{
    display: -webkit-Box;
    display: -webkit-flex;
    display: -ms-flexBox;
    display: flex;
  }
</style>

解决方法

我只有与野生动物园有同样的问题。我从代码中删除了类行,它可以正常工作。
<div>
  <div>
    <div>
      <img src="img.jpg" alt="">
      <h3>Name</h3>
      <p>Description</p>
    </div>
  </div>
</div>
<style>
  .flexthis{
    display: -webkit-Box;
    display: -webkit-flex;
    display: -ms-flexBox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .flexthis .col-md-4{
    display: -webkit-Box;
    display: -webkit-flex;
    display: -ms-flexBox;
    display: flex;
  }
</style>

为什么要删除行?答案很简单,引导行中还有一些其他属性,如:after,before,content。所以删除行减少了这个开销,并允许flex正常工作。

css – flexbox vs表,为什么我们需要flexbox?

css – flexbox vs表,为什么我们需要flexbox?

任何人都可以告诉我如何新的FlexBox布局模型比目前的表格更好? (显示:表和所有这些都包括在我的情况)?

它根本不支持IE10,这在不久的将来不是很好,我只是看不到任何好处超过表布局.但是,互联网仍然开始充满这种新的CSS布局方法的“崇拜者”,我看到的所有例子都可以轻松地用正常的CSS完成,没有问题.

更新25.12.15:
自从引入到现代浏览器以来,我一直在使用flexBoxes,并停止使用display:table等,因为flexBoxes更强大,易于使用.

解决方法

在使用flexBox和使用表格显示值或浮动布局页面之间,我可以想到三个区别:

>无论HTML源代码如何,都能够重新排序元素,同时保持正常流程中的元素 – 您可以通过使用order属性指定整数值来执行此操作.
>它比传统的浮动布局(您不需要所有的伪元素来清除目的)需要更少的打字,而且更为语义,而对于布局使用浮点数或表格显然不是.
>通过使用flex-grow和flex-shrink属性,Flex项目可以根据祖先元素的尺寸进行生长和缩小以填充水平和垂直空间的能力.

问题(正如你所指出的),支持还是不错的;事实上,Firefox仍然在实现较早版本的flexBox模块,因此您必须根据您使用的浏览器来解释语法和行为的微小差异.不过,已经说了很多,这是布局的未来,特别是复杂的网络应用程序更频繁地出现.如果您能够做出不可避免的明智投资,这是值得学习的 – 以现在不能真正使用的代价.

我还建议你看看this smashing magazine article,以便对flexBox进行友好的介绍(这是最近写的)

css – Flexbox在Safari中仍然不稳定,flex-wrap无法正常工作

css – Flexbox在Safari中仍然不稳定,flex-wrap无法正常工作

我已经仔细阅读了论坛寻找答案,但仍然无效.我在我的网站上使用 CSS3 flexBox样式作为页脚. HTML如下:

<footerrole="contentinfo">

            <!-- copyright -->
            <div id="Box1"https://www.jb51.cc/tag/Box/" target="_blank">Box">
                <aid="btn-donate" href="#">Donate</a>
                <aid="btn-news" href="#">Get News</a>
            </div>
            <div id="Box2"https://www.jb51.cc/tag/Box/" target="_blank">Box">
                <h2>quill Theatre</h2>
                <p>P.O. Box 7265<br>
                Richmond,VA 23221</p>
                <p>Info@quillTheatre.org<br>
                804.340.0115</p>
                <span>Social goes here</span>

            </div>
            <div id="Box3"https://www.jb51.cc/tag/Box/" target="_blank">Box">3</div>
            <!-- /copyright -->

</footer>

我的CSS如下…它有点脏了我曾经尝试过一堆东西来工作:

.footer {
  display: flex;
  display: -webkit-flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -webkit-flex-flow: row wrap;
  width: 100%;
}
.footer .Box {
  order: 1;
  min-width: 50%;
  flex: 1 1 auto;
  -webkit-flex: 1 1 auto;
  flex-shrink: 1;
  flex-basis: auto;
  -webkit-flex-shrink: 1;
  -webkit-flex-basis: auto;
}
.footer #Box2 {
  order: 0;
  min-width: 100%;
  flex: 2 2 auto;
  -webkit-flex: 2 2 auto;
  -ms-flex: 2 2 auto;
  text-align: center;
  border-top: 3px solid black;
  border-bottom: 3px solid black;
  padding-bottom: 2em;
}
.footer #Box2 h2 {
  text-transform: uppercase;
}

这适用于除Safari之外的每个浏览器 – 不会发生包装.我在这里缺少什么不允许包装?

解决方法

只为有人想知道:

我可能已经过多了前缀,这就是扔掉了Safari的webkit.我能够通过使用适当的flexBox规则来解决这个问题(例如,使用flex作为速记而不是声明flex-grow或flex-shrink)并使用Autoprefixer来处理供应商前缀.

css – Flexbox:-webkit-box;, – emz-box;, – ms-flexbox; &-webkit-flex;这些是什么?

css – Flexbox:-webkit-box;, – emz-box;, – ms-flexbox; &-webkit-flex;这些是什么?

我正在努力熟悉CSS flexBox.有很多有用的资源.但是,当我遇到-webkit-Box;,– emz-Box;,– ms-flexBox; &安培; -webkit-FLEX;,我不确定这些是什么或如何处理它们.

如果有人能对此有所了解,我将不胜感激.

谢谢!

解决方法

这些是供应商的优惠
当您了解浏览器的工作功能时,您会更清楚.
实际上所有的浏览器都在他们的特定引擎上运行.我们编写的CSS语法或功能是什么,这些引擎在浏览器上呈现它们的行为.

Webkit

是最受欢迎的浏览器引擎,由chrome safari等使用.因此,这些供应商的优惠用于告诉浏览器我们应该使用哪些css属性.

关于Flexbox代码可在除Safari之外的所有浏览器上使用。为什么?flexbox不能实现的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于css – Flexbox Safari bug(flex-wrap)、css – flexbox vs表,为什么我们需要flexbox?、css – Flexbox在Safari中仍然不稳定,flex-wrap无法正常工作、css – Flexbox:-webkit-box;, – emz-box;, – ms-flexbox; &-webkit-flex;这些是什么?的相关知识,请在本站寻找。

本文标签: