html - 在行中定位表单元素及其标签

标签 html css css-float

如何像这样用标签定位输入表单元素但不使用表格?标签应在输入元素上方居中,行中的 block 应在外部 block 内居中。

+----------------------------------------------+
|       label1       label2       label3       |
|    [..........] [..........] [..........]    |
+----------------------------------------------+

同一行中可以有 1、2、3 个或更多元素。

我试过这个:

    .outer{text-align:center;}
    .inner{float:left;}
    <form>
      <div class="outer">
        <div class="inner">
          <label for="l1">label1</label><br><input id="l1" name="label1">
        </div>
        <div class="inner">
          <label for="l2">label2</label><br><input id="l2" name="label2">
        </div>
        <div class="inner">
          <label for="l3">label3</label><br><input id="l3" name="label3">
        </div>
      </div>
    </form>  

最佳答案

将它们放在同一个 div 中,并将该 div 中的文本居中:

.wrapper {
  text-align:center;
}

.wrapper * {
  text-align:left;
}

.okay {
  display:inline-block;
}

.okay p {
  text-align:center;
}
<div class="wrapper">
 <div class="okay">
  <p>text</p>
  <input type='text'>
 </div>
 <div class="okay">
  <p>text</p>
  <input type='text'>
 </div>
 <div class="okay">
  <p>text</p>
  <input type='text'>
 </div>
</div>

关于html - 在行中定位表单元素及其标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38700111/

相关文章:

html - 使用高度 100% 来保持 float div 匹配高度,但其中一个段落内的段落溢出

html - 他是如何让侧边栏保持在左侧的,即使页面的右侧可以滚动?

html - Internet Explorer 11 中流体 flexbox 容器内的元素出现 "overflow: auto"问题

带有变量的 jQuery 分区

html - 如何在 CSS 中创建复杂的阴影?

css - 歌剧 9 float :left inside position:relative cause problems

css - float 元素宽度影响其他元素居中

html - CSS3 列中的绝对定位

javascript - 使用脚本将属性设置为数据元素

html - 如何在 NetSuite 在线客户表单中将复选框对齐到标签文本的左侧?