这篇翻译不完整。请帮忙从英语翻译这篇文章。
概述
CSS order属性规定了弹性容器中的可伸缩项目在布局时的顺序。元素按照order属性的值的增序进行布局。拥有相同order属性值的元素按照它们在源代码中出现的顺序进行布局。
Note: order仅仅对元素的视觉顺序 (visual order) 产生作用,并不会影响元素的逻辑或tab顺序。 order 不可以用于非视觉媒体,例如speech。
| 初始值 | 0 |
|---|---|
| 适用元素 | flex items and absolutely-positioned flex container children |
| 是否是继承属性 | 否 |
| 适用媒体 | visual |
| 计算值 | as specified |
| Animation type | an integer |
| 正规顺序 | the unique non-ambiguous order defined by the formal grammar |
See Using CSS flexible boxes for more properties and information.
语法
Formal syntax: <integer>
order: 5 order: inherit
取值
<integer>- 表示此可伸缩项目所在的次序组。
例子
这里是一个基本的HTML代码片段:
<!DOCTYPE html> <header>…</header> <div id='main'> <article>…</article> <nav>…</nav> <aside>…</aside> </div> <footer>…</footer>
下面的CSS代码会创建一个经典的双sidebar围绕一个中央内容块的布局。 Flexible Box布局模块会自动地创建三个具有相同高度的内容块,也会使用所有可用的水平空间。
#main { display: flex; }
#main > article { flex:1; order: 2; }
#main > nav { width: 200px; order: 1; }
#main > aside { width: 200px; order: 3; }
规范
| Specification | Status | Comment |
|---|---|---|
| CSS Flexible Box Layout Module order |
Candidate Recommendation |
浏览器兼容性
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | 21.0-webkit 29 |
10.0, but under the non-standard |
12.10 |
7 -webkit |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | ? | ? | 18.0 (18.0) (behind a pref) [1] 20.0 (20.0) |
? | 12.10 |
7 -webkit
|
[1] To activate Flexbox support for Firefox 18 and 19, the user change the about:config preference layout.css.flexbox.enabled to true. Multi-line flexible boxes are supported since Firefox 28.
[2] In Internet Explorer 10, a flexible container is declared using display:-ms-flexbox and not display:flex.
[3] Firefox currently incorrectly changes the tab order of elements. See bug 812687