【问题标题】:How to exclude the first item in a flexbox wrap?如何排除 flexbox 包装中的第一项?
【发布时间】:2016-07-27 23:20:02
【问题描述】:

除了重新排序标记之外,还有其他方法可以排除 flex wrap 中的第一项吗?

<div class="container">    
  <div id="tobeexcluded">abc</div>
  <div class="flexitem">content</div>
  <div class="flexitem">content</div>
  <div class="flexitem">content</div>
</div>

编辑: 我已经试过了

:not(:first-child)

还有

:not(#tobeexcluded)

但它不起作用。这是实际的类构造,它是一个 Drupal 视图:

.view-id-reference_list .view-content:not(:first-child) {
display: flex
flex-flow: wrap
}

小提琴:https://jsfiddle.net/m62090za/4/

这就是我想要的:https://jsfiddle.net/Lxhpwqzn/1/ 但不更改标记。

【问题讨论】:

  • 你是认真的还是困倦的?这与您提供的链接完全不同
  • 您可以使用 css #tobeexcluded { display: none } 排除它。
  • 我不想隐藏它,它应该从 flexbox wrap 中移除。
  • 正如您在小提琴中看到的,当我将 :not(:first-child) 添加到 div 时,flexbox wrap 不再起作用。 filter-div 应该在 flex-flow 之上...

标签: css flexbox


【解决方案1】:

除了重新排序标记之外,还有其他方法可以排除 flex wrap 中的第一项吗?

经过一些初步的混淆,我们现在明白实际上需要将内容包装在 第一个 div 之后。

显然,实现这一点的最简单方法是让第一个 div 与父级 100% 宽。

.view-container .view-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.filterbox {
  flex: 0 0 100%;
}
<div class="view-container">
  <div class="view-content">
    <div class="filterbox">FILTER</div>
    <div class="flex-item">
      Flex-ITEM
    </div>
    <div class="flex-item">
      Flex-ITEM
    </div>
    <div class="flex-item">
      Flex-ITEM
    </div>
  </div>
</div>

【讨论】:

  • 我读到这个,以为它不是我想要的(因为它很简单),关闭标签,意识到它的美丽,然后再次打开它。
猜你喜欢
  • 2021-03-13
  • 2016-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-03
  • 2023-01-30
  • 2017-11-10
  • 1970-01-01
相关资源
最近更新 更多