CSS网格中的列表未按预期对齐

时间:2018-11-15 00:32:58

标签: html css html-lists css-grid

问题/误解:

我为广播选择创建了input type="radio"。单选选项应在第3列的开始处向左对齐,但应在第3列和第4列之间的中间位置。

预期行为:

无线电输入选项应位于第3列的开头,并与“名称”标签的文本输入栏对齐。

下面的最小,完整和可验证的代码。

MCV.html代码:

<link rel="stylesheet" href="MCP.css">
<div class="grid-container">
  <form id="survey-form">
    <label for="name" id="name-label">Name:</label>
    <input type="text" id="name">
    <div class="radio-title">
      <p>Gender:</p>
    </div>
    <div class="radio-options">
      <ul>
        <li>
          <input type="radio" id="choice-1">
          <label for="choice-1">Option A</label>
        </li>
        <li>
          <input type="radio" id="choice-1">
          <label for="choice-1">Option B</label>
        </li>
      </ul>
    </div>
  </form>
</div>

MCV.css代码:

.grid-container {
  display: grid;
  grid-template-areas:
  ". . . ."
  ". c c ."
  ". . . .";
  grid-template-columns: 0.7fr 1.5fr 1.5fr 0.7fr;
  grid-template-rows: 0.7fr 1.5fr 0.7fr;
}

#survey-form {
  display: grid;
  grid-area: c;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 5px;
}

label {
  grid-column: 2 / 3;
  text-align: right;
}

input {
  text-align: left;
}

ul {
  list-style: none;
}

.radio-title {
  grid-column: 2;
  text-align: right;
}

.radio-options {
  grid-column:  3 / 4;
  text-align: left;
}

这是带有行号和表格网格的图像: survey form image with line numbers

感谢所有反馈,谢谢!

注意:此问题已在How do I remove the first empty column in a css grid?中得到解答。看看第二个答案。

1 个答案:

答案 0 :(得分:1)

我认为这更多是列表问题。大多数浏览器都会在元素上添加某种填充/边距,因此大多数人会在开始新页面之前清除它们。

使用Codepen:

//css
.gender ul {
  padding: 0;
}

,您将看到按钮移至所需位置。