如何将input =“ radio”与其标签对齐?

时间:2019-03-14 10:40:31

标签: html css html5 vertical-alignment

我知道这里有很多答案。我搜寻了一下,试图适应,但一直失败,这就是为什么我现在要问。

我有以下问题。我希望标签和输入都在同一行:是o否o(以符号表示输入)。

下面是我的代码,请注意我将label的display属性更改为inline block:

<div class="col-sm-3">
        <label>Yes</label>
        <input type="radio" name="yes/no" checked>
        <label>No</label>
        <input type="radio" name="yes/no" >
    </div> 

很抱歉,虽然有很多类似的问题和答案,但对它们进行调整只是没有用...

3 个答案:

答案 0 :(得分:4)

如果您希望输入和标签为“底部对齐”,请尝试使用vertical-align: text-bottom

input[type='radio'] {
  vertical-align: text-bottom;
  margin-bottom: 1px;
}
div {
  display: inline-block;
  border: 1px solid black;
}
<div class="col-sm-3">
    <label>Yes</label>
    <input type="radio" name="yes/no" checked>
    <label>No</label>
    <input type="radio" name="yes/no" >
</div>

答案 1 :(得分:3)

vertical-align: middlemargin-top: -1px应用于每个输入[type ='radio']:

input[type='radio'] {
  margin-top: -1px;
  vertical-align: middle;
}
<div class="col-sm-3">
    <label>Yes</label>
    <input type="radio" name="yes/no" checked>
    <label>No</label>
    <input type="radio" name="yes/no" >
</div>

答案 2 :(得分:0)

您可能需要考虑将<input>包装在<label>字段中。

示例:

<div class="col-sm-3">
  <label>Yes
    <input type="radio" name="yes/no" checked>
  </label>
  <label>No
    <input type="radio" name="yes/no" >
  </label>
</div> 

此实现将增加输入的可访问性和可用性,并且不需要任何其他CSS。