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)
该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)