0

我正在尝试使用网格布局设计带有上/确定/下/左/右按钮的电视遥控器。问题是结果出乎我的意料。我只是想定义 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>
4

1 回答 1

0

您的主要问题是您在内部元素上设置了类,并且正在样式化 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>

于 2017-03-18T07:31:28.250 回答