html - 打破 flexbox 并从同一行的下一列开始
问题描述
我正在尝试制作一个css布局,在某个元素之后假设:nth-child(6)
元素应该中断并在同一行中形成一个单独的列。父元素应该在同一行中的每 6 个元素之后分成 2 列,一旦所有 12 个元素都完成,它应该转到下一行并形成相同的上述规则。使用 div 可以做到这一点,但我需要使其动态化,因此应该使用 flexblox 和 grid 来实现。
HTML:
<div class="home__content">
<!-- sub cards -->
<div class="sub__card">
<div class="home__subcardContainer">
<h4>একটা যুগের অবসান, চলে গেলেন সকলের প্রিয় ফেলুদা সকলের প্রিয় ফেলুদা</h4>
</div>
<img class="subcard__image"
src="https://sambadkolkata.in/uploads/post_main_image/1605424509_image_IMG-20201114-WA0230.jpg" alt="Avatar"
style="width:100%">
</div>
<div class="sub__card">
<div class="home__subcardContainer">
<h4>একটা যুগের অবসান, চলে গেলেন সকলের প্রিয় ফেলুদা সকলের প্রিয় ফেলুদা</h4>
</div>
<img class="subcard__image"
src="https://sambadkolkata.in/uploads/post_main_image/1605424509_image_IMG-20201114-WA0230.jpg" alt="Avatar"
style="width:100%">
</div>
</div>
CSS:
.sub__card {
display: flex;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
transition: 0.3s;
width: 90%;
border-radius: 5px;
margin: 2%;
}
.sub__card:hover {
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}
.home__subcardContainer {
padding: 10px 10px;
}
.subcard__image {
border-radius: 0 5px 5px 0;
max-width: 30%;
}
.home__content {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
padding: 5% 0%;
}
.home__contentLeft {
flex: 0.5;
}
.home__contentRight {
flex: 0.5;
}
.sub__card:nth-child(1) {
flex-direction: column-reverse;
}
.sub__card:nth-child(1) > .subcard__image {
border-radius: 5px 5px 0 0;
max-width: 100%;
}
.sub__card:nth-child(7) {
flex-direction: column-reverse;
}
.sub__card:nth-child(7) > .subcard__image {
border-radius: 5px 5px 0 0;
max-width: 100%;
}
.sub__card:nth-child(6) {
break-after: always;
}
解决方案
可以使用 css 网格轻松实现。
.container {
display: grid;
grid-template-columns: repeat(6, 6em);
grid-gap: 1em;
}
.item {
background-color: dodgerblue;
height: 4em;
border-radius: 0.5em;
}
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
这是codepen链接。您可以编辑代码并查看它的运行情况。
推荐阅读
- delphi - 上传后 TIdFTP 文件损坏
- xpages - Openntf Domino API v10“已完成公式”添加到日志
- sharpdevelop - 如何更改默认的 SharpDevelop 库?
- python - 将 postgres 转储文件导入 hdfs 或 hive 表?
- java - 英特尔 HD 3700 linux 的 Java 8 Swing 渲染问题
- xsd - 跳过 BizTalk 平面文件程序集中的元素?
- php - Laravel,只能在控制器内闪烁错误消息吗?
- node.js - Reactjs - 登录后移至下一页
- gitkraken - Gitkraken - 当重新定位错误“无法将没有 HEAD 的子模块添加到索引”时
- php - Soap WCF 对象引用未设置为对象上的实例