我如何在html css中制作响应式网格布局

mu0hgdu0  于 2023-01-06  发布在  其他
关注(0)|答案(2)|浏览(124)

我在网上搜索了一下,没有找到这种网格布局。
“grid-template-columns”不起作用,不能让一个框比其他框大。我想要4个相等的框和1个高度和宽度相等的框=正方形框 * 2 + gridgap。
这是我画的图,让你们明白我的意思。
我也尝试过使用显示器Flex,但我没有得到它的想法。请,帮助我。谢谢!
Illustation of my idea

t2a7ltrp

t2a7ltrp1#

问题("我如何在HTML CSS中制作响应式网格布局")的答案是这样的:

.wrapper {
  display: grid;
  justify-content: center;
}

.box {
  border: 2px solid #000;
  width: 128px;
  min-height: 128px;
  justify-content: center;
  margin: 10px;
  display: grid;
  align-items: center;
}

.box5 {
  grid-column: 2/5;
  max-width: 280px;
  width: 100%;
}

/*for this to be visible, the screen-width has to be under 600px*/

@media (max-width: 600px) {
  .box5 {
    grid-column: 2/1;
  }
}
<div class="wrapper">
  <div class="box1 box">128x128</div>
  <div class="box2 box">128x128</div>
  <div class="box3 box">128x128</div>
  <div class="box4 box">128x128</div>
  <div class="box5 box">280x128</div>
</div>
kxe2p93d

kxe2p93d2#

就像图像中那样

.container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 180px;
}
.row {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.box {
  width: 10vw;
  height: 10vw;
  margin: 12px;
  border: 1px solid black;
}
.box.big {
  width: calc(20vw + 24px);
}
<div class="container">
  <div class="row">
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
  </div>
  <div class="row">
    <div class="box big"></div>
  </div>
</div>

彼此正下方的场1 - 5以当前宽度居中
一个二个一个一个

相关问题