【发布时间】:2019-10-09 16:08:58
【问题描述】:
这种结构可以用html + css实现吗?
但我不想在橙色块之间有垂直空间,而是想成为另一个顶部的一个。
我使用过 flex 和 grid,但到目前为止还没有真正成功:(
.container {
padding: 10px;
border: 1px solid red;
display: flex;
flex-flow: row wrap;
justify-content: space-between;
}
.big {
width: calc(60% - 22px);
padding: 10px;
background: lime;
height: 100px;
margin-bottom: 10px;
}
.small {
width: calc(40% - 22px);
height: 100px;
padding: 10px;
background: orange;
margin-bottom: 10px;
}
<div class="container">
<div class="big"> I AM BIG 1</div>
<div class="small"> I AM SMALL 1</div>
<div class="big"> I AM BIG 2</div>
<div class="big"> I AM BIG 3</div>
<div class="big"> I AM BIG 4</div>
<div class="small"> I AM SMALL 2 </div>
</div>
【问题讨论】:
-
你可以重新排列 div或者如果你不想重新排列 html 结构,那么你可以在 css 中使用 order 属性。参考:css-tricks.com/almanac/properties/o/orderI AM BIG 1I AM小 1我是大 2我是小 2我是大 3I AM BIG 4
-
您也许可以使用
grid-area做到这一点。这是一个非常有用的指南:css-tricks.com/snippets/css/complete-guide-grid -
您可以使用 Bootstrap 框架来完成您的任务。如果您已经有了现成的东西,为什么要编写自定义代码,您可以使用框架并可以专注于您的其他开发任务。