CSS Grid 删除空的、未使用的空间

标签 css css-grid

我正在尝试使用 CSS 中的 grid 属性创建一个导航栏。我想做的就是删除空的网格空间,使设计看起来更漂亮。

这是设计最初的样子: enter image description here

我想通过使用以下代码使其响应:

.nav {
  display: grid;
  grid-gap: .25em;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.nav-child {
  width: 100%;
  text-align: center;
  border: 1px solid black;
}
<div class="secondary-flex nav">
  <div class="secondary-flex nav-child">
    Contact us
  </div>
  <div class="secondary-flex nav-child">
    About us
  </div>
  <div class="secondary-flex nav-child">
    Random
  </div>
  <div class="secondary-flex nav-child">
    More text
  </div>
</div>

但是当我调整导航栏的大小时,它会动态地将一个网格对象向下放置 1 行,但仍然保持网格对象的宽度不变。有没有一种方法可以强制新行上的单个网格对象单独跨越整个导航栏的宽度?换句话说,在创建新行时删除所有空白区域。

最佳答案

这比 CSS-grid 更适合 flexbox:

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

.nav-child {
  min-width:200px;
  flex:1;
  margin:0.125em;
  text-align: center;
  border: 1px solid black;
}
<div class="secondary-flex nav">
  <div class="secondary-flex nav-child">
    Contact us
  </div>
  <div class="secondary-flex nav-child">
    About us
  </div>
  <div class="secondary-flex nav-child">
    Random
  </div>
  <div class="secondary-flex nav-child">
    More text
  </div>
</div>

关于CSS Grid 删除空的、未使用的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52376950/

相关文章:

html - 很难用网格定位我的代码

css 网格可变列宽和换行

html - 在 flex box 中使用时,网格不占据其 div 的全部高度

jquery - 如何从不同的类 xpath 获取 html 元素?

html - CSS Grid 容器不占用其子项的宽度

java - 如何从我的静态 CSS 文件中即时删除评论?

javascript - 如何通过CSS将鼠标悬停在导航菜单上来隐藏和显示Bootstrap 4卡片?

CSS3 Grid - 为什么行没有按照列/行 stmt 定位

javascript - 响应式圆形图像

CSS Right Column 不会保持正确