【问题标题】:CSS flexbox with element inside wrapper带有包装内元素的 CSS flexbox
【发布时间】:2013-03-01 15:39:38
【问题描述】:

我对排序元素有疑问。我有一个容器(flexbox)和一个孩子(order = 1)和兄弟div(包装器我不会使用flexbox),孩子订购但不起作用。

可以查看完整示例:http://codepen.io/isyara/pen/HtniA(检查包装器 im-changed-order)

谢谢

【问题讨论】:

  • 你的问题有点难理解,你的意思是想让第二个.container元素和第一个一样吗?或者第一个应该与第二个相同?
  • 我订购了一个孩子和两个孩子到包装器和 flexbox 订购包装器,而孩子不在包装器中,我不希望包装器订单只是孩子进入。 (请参阅带有和不带有包装器的 codepen 示例)

标签: html css flexbox


【解决方案1】:

如果您想让第一个示例看起来像第二个示例,那么您就不走运了。弹性项目只能排列在它们的弹性容器内。

+---------------+
|  +---------+  |
|  |    a    |  |
|  + --------+  |
|  +---------+  |
|  |    b    |  |
|  | +-----+ |  |
|  | |  c  | |  |
|  | +-----+ |  |
|  | +-----+ |  |
|  | |  d  | |  |
|  | +-----+ |  |
|  +---------+  |
+---------------+

如果外部容器和 b 都是弹性容器(display: flex 应用于它们),那么只有这些排列是可能的:

  • (c d) 一个
  • (d c) 一个
  • a (c d)
  • a (d c)

如果 b 不是 flex 容器,则 c 和 d 不是 flex 项,根本无法使用 order 属性进行排列。

元素 a、c 和 d 必须是兄弟元素才能完全重新排列:

+---------------+
|  +---------+  |
|  |    a    |  |
|  + --------+  |
|  +---------+  |
|  |    c    |  |
|  + --------+  |
|  +---------+  |
|  |    d    |  |
|  + --------+  |
+---------------+

现在您可以拥有上一个示例中的所有安排,以及这些:

  • 加分
  • d a c

【讨论】:

  • 是的,我想要 c a d 安排,但 a 不是 c - d 的兄弟。感谢您的解释cimmanon
猜你喜欢
  • 2022-11-24
  • 1970-01-01
  • 1970-01-01
  • 2017-03-31
  • 1970-01-01
  • 2019-05-10
  • 2015-07-10
  • 2014-12-14
  • 1970-01-01
相关资源
最近更新 更多