html - 为什么我的 CSS 网格布局 div 不以大视口(viewport)为中心?

标签 html css css-grid

我试图在父 div 中显示 div,但希望子 div 位于中心而不是从父 div 的开头。下面给出了 HTML/CSS 以及它在 iPad(看起来不错)和计算机(不是我想要的东西)上的外观截图。

.inner-tile {
  display: inline-grid;
  grid-gap: 5px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr ));
  grid-template-rows: 1fr;
  justify-items: center;

  width: 100%;
  height: auto;
  font-size: 18px;
  padding-bottom: 10px;
}

.event {
  border: 1px solid grey;
  border-radius: 4px;
  min-width: 240px;
  min-height: 270px;
  width: 90%;
  height: auto;
}
  <div class = "inner-tile">
    <div class = "event">
      <div class="event-image"></div>
      <a href = "#learnmore" class = "learn-more">event</a>
    </div>          
    <div class = "event">
      <div class="event-image"></div>
      <a href = "#learnmore" class = "learn-more">event</a>
    </div>          
    <div class = "event">
      <div class="event-image"></div>
      <a href = "#learnmore" class = "learn-more">event</a>
    </div>          
    <div class = "event">
      <div class="event-image"></div>
      <a href = "#learnmore" class = "learn-more">event</a>
    </div>          
  </div>

iPad

Desktop

最佳答案

如果你总是有 4 个元素,你可以考虑 max-width 并使用 grid 而不是 inline-grid 那么你可以使用 margin 自动

.inner-tile {
  display: grid;
  max-width: calc(240px * 4 + 5px * 3);
  margin: auto;
  grid-gap: 5px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  justify-items: center;
  
  font-size: 18px;
  padding-bottom: 10px;
}

.event {
  border: 1px solid grey;
  border-radius: 4px;
  min-width: 240px; 
  min-height: 270px;
  width: 90%;
}
<div class="inner-tile">
  <div class="event">
    <div class="event-image"></div>
    <a href="#learnmore" class="learn-more">event</a>
  </div>
  <div class="event">
    <div class="event-image"></div>
    <a href="#learnmore" class="learn-more">event</a>
  </div>
  <div class="event">
    <div class="event-image"></div>
    <a href="#learnmore" class="learn-more">event</a>
  </div>
  <div class="event">
    <div class="event-image"></div>
    <a href="#learnmore" class="learn-more">event</a>
  </div>
</div>

关于html - 为什么我的 CSS 网格布局 div 不以大视口(viewport)为中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58302342/

相关文章:

css - JQuery UI 可选择的 CSS 样式

css - 为什么 min-content 不能与自动填充或自动调整一起使用?

html - 使用 LinkChecker 进行身份验证

php - 如何显示带有动态 id 的 html 图像

html - 有没有办法在 :nth-child(n)? 中使用 "n"值

css - 如何使CSS中的按钮在所有设备上看起来相同?

css - 如何在移动设备上显示桌面 "2xN"中的 "1x2*N"网格?

CSS 网格列未按预期开始和结束

Javascript onclick,如何为某些元素设置不同的 alpha?

javascript - 在函数中渲染 JSX 元素