如何修复css以保持4张卡在一排,而他们是中心对齐?

jobtbby3  于 2023-02-10  发布在  其他
关注(0)|答案(4)|浏览(175)

面对一个CSS属性(Flex)的问题。我有多个卡,我希望它是4卡每行,以便无论屏幕大小,它将始终有4卡每行。因为我使用显示元素作为Flex它根据屏幕大小进行调整。非常新的前端开发工作,你能请检查并修复我的CSS属性,以对齐4卡在一行。
下面是代码:https://codesandbox.io/s/tender-feynman-we6n9s?file=/src/productsConfig.js
基本上在这里我想每行4张卡。

6za6bjd0

6za6bjd01#

你可以添加flex-basis,它设置内容框的大小,所以你的css类.react-card-flip上的flex-basis: 25%

    • 更新**

如果您不想增加空间,请尝试以下操作:

.react-card-flip:nth-child(3n+1):not(:first-child) {
  break-after: always;
}

这段代码只是简单地找到了你的第四个元素,并在上面添加了一个中断。2只是尝试减少你的页面使用ctrl+滚动你的鼠标看到。3它max 4卡每行。
sandbox上试用

pb3s4cty

pb3s4cty2#

使用flex,并且由于您希望卡片的宽度是固定的(300px),并且假设您只在大屏幕上工作,为了保证在一行中显示4个300ps的元素,最好也将父元素的宽度设置为1500px,例如,在本例中,只有4个元素具有边距,填充将显示在一行中。

.container {
  display: flex;
  flex-wrap: wrap;
  width: 1500px;
  justify-content: center;
  margin: auto;
}

.react-card-flip {
  flex: 1 0 300px;
  border: 1px solid red;
  margin: 5px;
  min-height: 50px;
}
<div class="container">
  <div class="react-card-flip"></div>
  <div class="react-card-flip"></div>
  <div class="react-card-flip"></div>
  <div class="react-card-flip"></div>
  <div class="react-card-flip"></div>
  <div class="react-card-flip"></div>
  <div class="react-card-flip"></div>
  <div class="react-card-flip"></div>
</div>
dbf7pr2w

dbf7pr2w3#

尝试将此样式添加到您的style.css文件中,以便在空间上响应自动卡片 Package 。

.container {
  display: flex;
  flex-wrap: wrap;
}

.card {
  width: calc(25% - 40px);
  margin: 20px;
}
yjghlzjz

yjghlzjz4#

我以为问题是“水平不正确”。
https://we6n9s.csb.app/中按“f12”,然后你会看到第一级是“容器”。
第二个层次是“React-翻牌”。
第三级是“React-翻牌”。
第四个层次是“React-卡片-正面”。
第5级是“卡”。
也许您可以使用.react-card-flip,但不能使用.card

.react-card-flip {
  position: flex;
  flex: 1 0 22%;
  border: 1px solid red;
  width: 22%;
  height: 300px;
  min-height: 50px;
}

相关问题