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

问题描述 投票:5回答:3

我知道这里有很多答案。我搜索过,试图适应,但我一直都失败了,这就是我现在要问的原因。

我有以下问题。我想,两者,标签和输入在同一行:是o否o(o象征输入)。

这里我的下面代码,注释我将label的display属性更改为内联块:

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

很抱歉回答,虽然有很多类似的问题和答案,但适应它们只是没有工作...

html css html5 vertical-alignment
3个回答
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>

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>

完美的中心:在第二个片段中添加交叉文本和按钮,以显示完美的中心

input[type='radio'] {
  margin-top: -1px;
  vertical-align: middle;
}

.col-sm-3 {
    position: relative;
    border: 1px solid;
}

.col-sm-3:after {
    display: block;
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background: black;
    top: 50%;
}
<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>

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。

© www.soinside.com 2019 - 2024. All rights reserved.