【问题标题】:Positioning the label of a checkbox in a fieldset在字段集中定位复选框的标签
【发布时间】:2012-06-21 15:19:44
【问题描述】:

我有一个注册表单并使用fieldsetinput 字段分为两行。

现在我需要在它们下方添加一个复选框。当然,我可以使用 div 来做到这一点,但我想将其集成到 fieldset 中。

Here is an example fiddle.

我需要在最后一个列表项(类fd)下添加一个复选框,并在旁边为其添加标签。

最后应该是这样的:

   label 1                         label 2
    _______________                 _______________ 
   (_______________)               (_______________)

    label 3                        label 4
    _______________                 _______________ 
   (_______________)               (_______________)


   (_) label 5 

此时我有以下代码:

...
<li class="fd">
<label class ="tandc">label 5</label>
  <input class="tac"type="checkbox" id="tandc" name="tandc" tabindex="30" autocomplete="off" />
</li>


</ul>
</fieldset>
</form>

至于 CSS:

.tc  {
    float: right;
}
.tac {
    width: 20px;
    margin-bottom: 20px;
}


.tandc {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: bolder;
    color: #ECECEC;
    text-decoration: none;
    width: 450px;
    float:right;
    margin-right: 25px;
    padding-top: 3px;

}

我的问题是我只能在复选框上方而不是旁边获得标签。谁能告诉我如何将标签放在复选框旁边?可以更改我的 HTML,但请避免使用表格。

【问题讨论】:

标签: html css forms checkbox fieldset


【解决方案1】:

不确定使用 .tc 类对哪个元素进行样式设置,但我只是将标签移到了复选框之后,并删除了 float:right.tandc 的样式,看起来就像您要解释的那样。

这可能就是您要找的东西?

编辑

更新的 CSS

.tandc {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bolder;
color: #ECECEC;
text-decoration: none;
width: 450px;
height: 30px;
display:inline-block;
}

html

....
<li class="fd">
<input class="tac"type="checkbox" id="tandc" name="tandc" tabindex="30" autocomplete="off" />
<label class ="tandc">label 5</label>
</li>
</ul>
</fieldset>
</form>

由于您有此 &lt;li&gt; 元素的特定类和 id,您应该能够根据需要独立定位它。

编辑

看到您的完整 css 后,我注意到您已指定每个输入字段都显示为块。这意味着没有其他元素可以与输入字段位于同一行,例如 div 元素(您的复选框是这些输入字段之一)。您需要做的是指定这个特定的输入框可以包含其他元素。您可以添加到类 .tandc 或 id #tandc display:inline-block

【讨论】:

  • 您好,感谢您的回答。我有一个问题,我可以看到复选框。在它旁边距离标签所在的位置有 5-10px 的距离。即使我尝试与 tac 类或 tandc 内的边距和填充重新协调,我也无法将它们居中到一个高度和一条线。谢谢
  • 我不太确定你的问题出在哪里,因为它在我尝试的每个浏览器中都完全垂直对齐(我注意到你的 .tc 类的样式在你发布的 html 中不存在所以可能发布你的完整表单代码会有所帮助)但是看看这个 - vertical-align property然后你可以在 w3schools 的标签或表单标签页面中试用它。
  • 我的问题只是输入字段下方的复选框。我想要复选框,并且直接在它旁边与 cb 的一个高度上应该有它的标签。不知道你用的是什么浏览器,看我贴的链接。在我的 ff 和 safari 中也有同样的问题。有没有像 jsfiddle 这样的图像?然后我可以做一个快照来说明我的意思,谢谢。
  • 我试过了。实际上没关系...由于以下问题仍然不完美:我可以看到该复选框将位于一个类似 div 的容器中,我无法真正找到该容器。这种定位标签似乎比仅使用简单的 div 要困难得多。在那里,我几乎可以将所有东西都更改为正确的位置。我不知道如何更改的第一件事是 cb 和标签之间的空间。接下来的事情是如何将空间设置到上部输入字段......剩下的问题太多了。非常感谢。
  • 要在你的 CSS 中专门设置 cb 的属性,你可以使用 .fd input.tac{} 来定位类为 .tandc 的标签,你可以使用 position:relative 属性并调整顶部和左侧。要引用您的上部输入字段,您应该使用 .fl input 这一切都是为了在您的 css 中正确引用元素
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-07
  • 1970-01-01
  • 1970-01-01
  • 2017-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多