Flexbox 的设计不仅仅考虑了典型的 LTR 写作方式。它具有类似flex-start
和flex-end
关于对齐和证明的语言。您描述相关元素的方式可能没有必要使用它们。
http://codepen.io/cimmanon/pen/bdynv(包含 LTR 和 RTL 示例)
<nav class="rtl">
<img src="http://placekitten.com/100/50" alt="Cat Button" />
<img src="http://placekitten.com/80/50" alt="Other Cat Button" />
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
<img src="http://placekitten.com/100/50" alt="Cat Button" />
<img src="http://placekitten.com/80/50" alt="Other Cat Button" />
</nav>
CSS:
nav {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
/* optional */
-webkit-box-align: center;
-moz-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
ul {
-webkit-box-flex: 1;
-moz-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
ul li {
display: inline-block;
}
.rtl {
direction: rtl;
}
请注意,使用 table/table-cell 显示属性可以实现相同的目的,但它需要额外的元素。