justify-items在CSS Grid中不起作用

The*_*ewy 6 html css css3 css-grid

我有一个CSS网格,我正在尝试将justify-items属性设置为start.

这个(或与之相关的任何其他属性)都不起作用,在我的文本编辑器(atom)中,它显示为灰色,通常表示错误.

我看过规范,这个属性肯定是规范的一部分,甚至找到了它的视频教程.

当我使用它虽然它不起作用,我无法理解为什么.

当我将代码复制到codepen时,它仍然无法正常工作.

这里的代码:https://codepen.io/emilychews/pen/EvLPgJ

.gridwrapper {
  background: #e6e6e6;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-auto-rows: 100px;
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  justify-items: start; /* THIS LINE ISN'T WORKING */
  align-items: stretch;
}

.gridwrapper div:nth-child(1) {
  grid-column: 1 / 4;
}

.gridwrapper div:nth-child(6) {
  grid-column: 1 / 3;
}

.gridwrapper div {
  padding: 1em;
  background: red;
  border: white;
  width: 100%;
  color: white;
  box-sizing: border-box;
}

.gridwrapper div:nth-child(odd) {
  background: blue;
}
Run Code Online (Sandbox Code Playgroud)
<div class="gridwrapper">
  <div class="grid double-col double-row">1</div>
  <div class="grid">2</div>
  <div class="grid">3</div>
  <div class="grid">4</div>
  <div class="grid">5</div>
  <div class="grid">6</div>
  <div class="grid">7</div>
  <div class="grid">8</div>
</div>
Run Code Online (Sandbox Code Playgroud)

Mic*_*l_B 7

justify-items属性通过在列(而不是整个容器)中分配可用空间来对齐网格项。

但是,在这种情况下,没有可用空间,因为每个项目都占据了列的整个宽度。

.gridwrapper div { width: 100% }
Run Code Online (Sandbox Code Playgroud)

当您删除该规则时,justify-items有效。

这是一个更完整的解释:

修订代码笔

.gridwrapper div { width: 100% }
Run Code Online (Sandbox Code Playgroud)
.gridwrapper {
  background: #e6e6e6;
  display: grid;
  grid-template-columns: repeat(8, 25px); /* adjustment; otherwise 1fr... */ 
  grid-auto-rows: 100px;                  /* all free space */
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  justify-content: end; /* adjustment */
  align-items: stretch;
}

.gridwrapper div:nth-child(1) {
  grid-column: 1 / 4;
}

.gridwrapper div:nth-child(6) {
  grid-column: 1 / 3;
}

.gridwrapper div {
  padding: 1em;
  background: red;
  border: white;
  /* width: 100%; */
  color: white;
  box-sizing: border-box;
}

.gridwrapper div:nth-child(odd) {
  background: blue;
}
Run Code Online (Sandbox Code Playgroud)