CSS Flexbox包装-如何在大项目之前填充行

威比特

我不确定是否可行。我什至可能认为这不太可能。但我想确定。我的目标是在专辑封面视图中发挥iTunes音乐播放器的作用。意味着我有一个大小相同的项目列表,可以很好地逐行包装。

| A | | B | | C |
| D | | E | | F |
| G | | H |

这只是display: flex; flex-wrap: wrap; justify-content: space-around;在容器上。现在,我想在单击其中一项时有条件地渲染其他组件。假设项目B被点击,“横幅” Banner-B打开。此横幅应采用完整宽度,以换行到下一行。但是我很想在项目B所在的行中装满较小的项目,直到不再适合它为止。所以现在看起来像这样:

  | A |   | B |
|    Banner-B   |
| C | | D | | E |
| F | | G | | H |

我想使其呈现如下所示:

| A | | B | | C |
|    Banner-B   |
| D | | E | | F |
| G | | H |

有什么想法如何或是否有可能?谢谢你的帮助!

陪同Afif

CSS网格可以做到这一点。使用悬停的示例,您可以轻松将其更改为单击事件

.container {
   display:grid;
   grid-template-columns:repeat(3, 1fr);
   grid-auto-flow:dense; /* this will do all the magic */
   grid-gap:3px;
}

.container > div {
  padding:10px;
  border:2px solid red;
}

.container > section {
  grid-column:1 / -1; /* take full width */
  padding:20px;
  border:2px solid blue;
  display:none;
}
.container > div:hover + section {
  display:block;
}
<div class="container">
 <div>A</div><section>Info A</section>
 <div>B</div><section>Info B</section>
 <div>C</div><section>Info C</section>
 <div>D</div><section>Info D</section>
 <div>E</div><section>Info E</section>
 <div>F</div><section>Info F</section>
 <div>G</div><section>Info G</section>
 <div>H</div><section>Info H</section>
 <div>I</div><section>Info I</section>
</div>

space-around包装配置:

.container {
   display:grid;
   grid-template-columns:repeat(auto-fit, 150px);
   justify-content:space-around;
   grid-auto-flow:dense; /* this will do all the magic */
   grid-gap:3px;
}

.container > div {
  padding:10px;
  border:2px solid red;
}

.container > section {
  grid-column:1 / -1; /* take full width */
  padding:20px;
  border:2px solid blue;
  display:none;
}
.container > div:hover + section {
  display:block;
}

body {
 min-height:150vh;
}
<div class="container">
 <div>A</div><section>Info A</section>
 <div>B</div><section>Info B</section>
 <div>C</div><section>Info C</section>
 <div>D</div><section>Info D</section>
 <div>E</div><section>Info E</section>
 <div>F</div><section>Info F</section>
 <div>G</div><section>Info G</section>
 <div>H</div><section>Info H</section>
 <div>I</div><section>Info I</section>
</div>

也像下面的auto-fill配置

.container {
   display:grid;
   grid-template-columns:repeat(auto-fill, minmax(150px,1fr));
   grid-auto-flow:dense; /* this will do all the magic */
   grid-gap:3px;
}

.container > div {
  padding:10px;
  border:2px solid red;
}

.container > section {
  grid-column:1 / -1; /* take full width */
  padding:20px;
  border:2px solid blue;
  display:none;
}
.container > div:hover + section {
  display:block;
}

body {
 min-height:150vh;
}
<div class="container">
 <div>A</div><section>Info A</section>
 <div>B</div><section>Info B</section>
 <div>C</div><section>Info C</section>
 <div>D</div><section>Info D</section>
 <div>E</div><section>Info E</section>
 <div>F</div><section>Info F</section>
 <div>G</div><section>Info G</section>
 <div>H</div><section>Info H</section>
 <div>I</div><section>Info I</section>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用CSS Flexbox包装行项目?

来自分类Dev

CSS Flexbox包装第一行

来自分类Dev

CSS Flexbox包装和破坏

来自分类Dev

CSS Flexbox包装和破坏

来自分类Dev

我可以使用CSS flexbox强制包装所有项目吗?

来自分类Dev

CSS Flexbox:将一个div弹性包装到两行,每行分别增长

来自分类Dev

CSS flexbox:如何使列项目填充高度

来自分类Dev

在包装之前将flexbox缩小至尺寸

来自分类Dev

给包装好的Flexbox项目垂直间距

来自分类Dev

如何使用flexbox垂直包装内容?

来自分类Dev

如何使用flexbox垂直包装内容?

来自分类Dev

如何使用 flexbox 子创建包装

来自分类Dev

使用CSS Grid或Flexbox将定宽包装柱居中

来自分类Dev

Flexbox:到达页面底部时,如何在Flexbox中包装项目?

来自分类Dev

如何在flexbox中包装物品以适应较小的屏幕?

来自分类Dev

flexbox可以用来“包装”列表中的项目吗?

来自分类Dev

Flexbox包装-最后一行的对齐方式不同

来自分类Dev

如何排除Flexbox包装中的第一项?

来自分类Dev

如何制作可拉伸以适合包装物品的Flexbox容器?

来自分类Dev

如何使用 flexbox 和媒体查询进行包装?

来自分类Dev

flexbox的flexbox项目即使在包装上也都具有相同的大小

来自分类Dev

Angular Material Flexbox-如何在包装的行之间添加边距?

来自分类Dev

如何在多行flexbox包装的布局中仅垂直拉伸一行?

来自分类Dev

Angular Material Flexbox-如何在包装的行之间添加边距?

来自分类Dev

如何在CSS Flexbox下方写东西

来自分类Dev

CSS:如何获取包装标签以对齐

来自分类Dev

如何使CSS包装器自动调整高度?

来自分类Dev

CSS Flexbox:填充垂直元素之间的空白

来自分类Dev

用 CSS flexbox 填充剩余高度

Related 相关文章

热门标签

归档