css - 如何让CSS网格项始终居中

标签 css css-grid

我正在对一些盒子元素使用 CSS 网格。这看起来不错,但是当我缩小屏幕时,当容器中只有 2 或 1 个盒子在左边时,我该如何让它们始终位于中心?

body {
  background-color: #8268EE; 
}

.item-container {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  justify-content: center;
  align-items: center;
}

.item {
  background-color: #BDD3FB;
  width: 200px;
  height: 200px;
}
<div class='item-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 class='item'></div>
</div>

最佳答案

差不多就到了,使用 justify-items property 而不是 justify-content:

body {
  background-color: #8268EE; 
}

.item-container {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  align-items: center;
  justify-items: center;
}

.item {
  background-color: #BDD3FB;
  width: 200px;
  height: 200px;
}
<div class='item-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 class='item'></div>
</div>

关于css - 如何让CSS网格项始终居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50867906/

相关文章:

javascript - 摆脱边缘必填字段的默认验证消息

html - 使谷歌地图适应容器 div

css - 避免中间标记干扰显示 :table

html - 网格元素定位

CSS grid-template-areas 没有自动列跨度

css - 是否可以使用 `grid-template-areas` 从网格中的空行中删除高度?

css - 如何更改工具提示位置以将长文本显示为ui-tooltip-top

html - 使用 css 的多个背景图像的 IE 兼容性问题

html - 使 flex 元素重叠

html - Flexbox 中的 CSS Grid 仅在 Chrome 上无法按预期工作