当我读到关于HTML和CSS的新变化时,我开始了解类似的flex样式
-webkit-flex.
使用flex而不是普通div方法和媒体标签来响应风格的唯一优势是什么.
我几乎没有看到任何使用flex进行响应的网站.
我几乎没有看到任何使用flex进行响应的网站.

CSS Flexible Boxes布局规范处于候选推荐阶段,并非所有浏览器都实现了它.WebKit实现必须以-webkit为前缀; Internet Explorer实现了旧版本的规范,前缀为; Opera 12.10实现了最新版本的规范,没有前缀.有关最新的兼容性状态,请参阅每个属性的兼容性表.
新的flexbox布局模式准备重新定义我们在CSS中进行布局的方式.不幸的是,规范最近发生了很大的变化,因此它在不同的浏览器中的实现方式不同.有很多过时的flexbox资源.
Flexbox有许多令人兴奋的功能,因为它
旧箱子模型的问题
请考虑以下代码以使用三列布局.
.col {
width: 33.33%;
padding: 0 5%;
}
Run Code Online (Sandbox Code Playgroud)
这实际上不会为您提供列,33.33% wide它将创建列,43.33% wide.这将打破3列布局,因为列的组合宽度超过100%.换句话说,填充被添加到已经存在的宽度.所以它是填充+宽度.
如果需要创建3列布局,通常使用float(或inline-block),然后计算出必要的宽度,填充和边距,以便它们适合父容器.即使它现在已经成为第二天性,这是一项不必要的工作,它可以避免.
我发现了一个很好的教程Flexbox,就实施的当前状态在这里.
flex是0 0 auto(见此处),而不是0 1 auto根据草案规范,截至2013年9月.display: flex并且flex-direction: column将不会正确计算其弯曲的子尺寸.看错误.min-heightheightW3C 规范中所述的 Flexbox 定义:
\n\n\n\n\n该规范描述了针对用户界面设计优化的 CSS 盒模型。在弹性布局模型中,弹性容器的子容器可以在任何方向上布局,并且可以“调整”它们的大小,要么增大以填充未使用的空间,要么缩小以避免溢出父容器。子级的水平和垂直对齐都可以轻松操纵。这些框的嵌套(水平嵌套垂直,或垂直嵌套水平)可用于构建二维布局。
\n
值得注意的是,flexbox 不仅仅是一个属性,而是整个模块,具有一组属性,一旦被定义为 Flex 容器,这些属性就会影响父元素(通常是某种包装 div)内部元素的流动和定位。这是通过使用 来完成的display: flex。

Flexbox 上的资源:
\n\n\n\nFlebox 允许我们在更改屏幕尺寸或设备方向时更好地控制盒子/div/页面元素的对齐和行为。
\n\n没有flexbox,实现灵活布局的方法有:
\n\nfloats - 基本上是一种 hack,因为它的原始用途是允许部分内容更改位置,而不将它们从文档流中删除(即在文本周围放置图像)。它们主要用于水平堆叠,通常与媒体查询和clearfix黑客结合使用。
用于调整大小的相对单位(% 或 em) - 在大多数情况下适用于水平布局,但不提供或很少提供垂直对齐控制。
媒体查询- 与上层技术 MQ 结合使用,成为 RWD 的主要内容,但在更复杂的情况下往往会变得混乱,因为每个查询都必须包含影响我们要调整的元素的大小和位置的所有属性(宽度、高度、填充、边距) 、显示等)。
javascript - 根据其他变量动态更改元素属性。这也是hacky解决方案,通常不是很干净,对页面大小和性能造成负担,并且明显依赖于JS。
Flexbox 在某种程度上是上面列出的方法的“速记”组合,但也具有三个独特的优点:
\n\norder属性或flex-flow)。有关更具体的示例,请查看本答案末尾列出的链接。
\n\n随着时间的推移,各种浏览器之间的 Flexbox 语法发生了一些重大变化,这些变化在本文中得到了很好的解释,但是随着像autoprefixer这样的前缀工具的广泛采用,我们可以坚持使用最新的标准语法并自动添加前缀(autoprefixer 提供了定义如何添加前缀的选项)很早以前我们就想讨论浏览器支持)。
\n\n也就是说,除了 IE 9 及更低版本之外,所有主要浏览器都支持 Flexbox。Opera 从 12.1 版本开始支持 Flexbox,但不支持 Opera Mini(令人震惊)。对于许多现有网站来说,使用 Flexbox 可能意味着做大量的工作,但收益有限,但随着 IE 8 和 9 使用率的下降,Flexbox 的实现将会增长。
\n\n正如本文中所指出的,flexbox 并不意味着用于创建完整的页面布局(为此目的,目前有css 网格模块正在运行并且很有趣,仅受 IE 支持),而是用于操作较小的单个组件,例如导航和侧边栏元素。
\n\n现在,您可能可以通过现代化器检测支持并回退 IE lte 9,或者通过坚持通用工作基础并扩展它们以在可以处理它的浏览器上提供更好的体验来回退优先(我建议后者)。与往常一样,是否使用 Flexbox 将取决于具体的项目要求和访客资料。
\n\n我没有任何使用 Flexbox 的现实生活示例,但这里有一些使用 Flexbox 可以轻松解决的用例的链接:
\n\n