翻译:高级跨浏览器Flexbox布局

原文:https://dev.opera.com/articles/advanced-cross-browser-flexbox/

介绍

CSS灵活盒模块级3 -简称Flexbox-它为web开发带来了很多的动力和一些非常令人兴奋的可能性,使我们能够在一些复杂的站点布局很容易和迅速,摒弃一些不合逻辑的hacks和组装件我们传统上使用。我在文章Flexbox中处理了Flexbox的基础知识:快速布局必杀技?在本文中,我将进一步讨论一个更高级的示例,并使用Modernizr为具有不同Flexbox支持级别的浏览器提供不同的样式,从而提供当前可用的最佳跨浏览器支持级别。

介绍这个例子

我为本文构建的示例如图1所示:

图1:最终布局示例的图像

其中包含多个级别的Flexbox。如果您愿意,可以实时查看示例,并继续阅读以更详细地探索代码。

 

整体布局

该网站的基本布局如下:

<section>
	<nav>nav>
	<article>article>
	<article>article>
section>

设置为display,就像这样的弹性盒:

section {
	display: -ms-Flexbox;
	-ms-box-orient: horizontal;

	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;

	-webkit-flex-flow: row wrap;
	-moz-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}

注意:规则顶部指定了不同的IE特定属性,因为IE10目前支持不同的Flexbox语法(从2011年开始)到Opera和Chrome支持的最新规范。更糟糕的是,Firefox和其他WebKit浏览器(如Safari)支持更老版本的语法(从2009年开始)。最重要的是,Modernizr报告IE10支持现代Flexbox,即使它不支持,因此我们需要像这样处理IE10,而不是Modernizr规则。有关详细信息和说明,请参阅下面的Flexbox智能后备部分。

我正在使 flow horizontal,但强制

你可能感兴趣的:(flex,flexbox,兼容布局,跨浏览器)