我正在尝试使用网格布局设计带有向上/确定/向下/向左/右按钮的电视遥控器。问题是结果出乎我的意料。我只想定义 3 行和 3 列,它们之间的特定位置和空间平均分配。我做错了什么?结果如下所示
Up left OK
right down
而不是
Up
|
<left----OK---Right-->
|
Down
法典
#grid {
display: grid;
grid-template-columns:
/* 1 */ auto
/* 2 */ auto
/* 3 */ auto;
grid-template-rows:
/* 4 */ auto
/* 5 */ auto
/* 6 */ auto;
}
#up { grid-column: 2; grid-row: 1; }
#ok { grid-column: 2; grid-row: 2; }
#down { grid-column: 2; grid-row: 3; }
#left { grid-column: 1; grid-row: 3; }
#right { grid-column: 3; grid-row: 3; }
}
<div id="grid">
<div class="up">Up</div>
<div class="left">left</div>
<div class="ok">OK</div>
<div class="right">right</div>
<div class="down">down</div>
</div>
你的主要问题是你在内部元素上设置了类,并且是样式 id
#grid {
display: grid;
grid-template-columns:
/* 1 */ auto
/* 2 */ auto
/* 3 */ auto;
grid-template-rows:
/* 4 */ auto
/* 5 */ auto
/* 6 */ auto;
width: 200px;
}
#grid div {
width: 50px;
height: 50px;
background-color: lightblue;
margin: 3px;
}
.up { grid-column: 2; grid-row: 1; }
.ok { grid-column: 2; grid-row: 2; }
.down { grid-column: 2; grid-row: 3; }
.left { grid-column: 1; grid-row: 2; }
.right { grid-column: 3; grid-row: 2; }
<div id="grid">
<div class="up">Up</div>
<div class="left">left</div>
<div class="ok">OK</div>
<div class="right">right</div>
<div class="down">down</div>
</div>