html - 如何使输入字段在标签中间排成一行?

标签 html css

这是我面临的问题的一个例子:
https://jsfiddle.net/v10un11s/1/

这是我的 HTML:

<div>
  <div class="component">
    <div>
      <label for="test1" id="short-label">Short label: </label>
    </div>
    <div>
      <input type="text" id="test1" />
    </div>
  </div>
  <div class="component">
    <div>
      <label for="test2" id="long-label">This is my very very very very very very very very very very very very very very very very very very long label: </label>
    </div>
    <div>
      <input type="text" id="test2" />
    </div>
  </div>
</div>

我的CSS: .

component > div:first-child {
  width: 150px;
  text-align: right;
  margin-right: 5px;
  margin-bottom: 10px;
}

.component > div {
  display: inline-block;
}  

这会导致输入字段排在标签的右侧。这就是我想要的,但是,它位于一个很长的标签行的末尾。

我真正想要的是输入字段行向右并向标签的相对中间。

所以在上面的 JS Fiddle 示例中,我希望输入字段排在长标签第三行的右侧。

我一直在研究边距、边距、行高等等,但一直无法找到正确的解决方案。

最佳答案

只需一行 CSS 即可解决问题!

.component > div {
  display: inline-block;
  vertical-align: middle;
}  

请记住,这是双向的 - 所以如果你的输入比你的标签高,标签将以输入为中心。

关于html - 如何使输入字段在标签中间排成一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38212979/

相关文章:

javascript - 如何获取鼠标悬停在其上的链接的文本?

javascript - 如何用js删除标签?

HTML:将某些内容锚定到元素的右侧

javascript - jQuery 或 JavaScript 在不知道需要删除的确切类名的情况下从元素中删除特定类

html - 页面内的 Jekyll 链接

HTML/CSS 需要帮助设置两个单独列表的样式

javascript - 响应地垂直居中div

html - Bootstrap 轮播指示器是方形的;我要他们圆

javascript - 图库不适用于 iPad/移动设备

html - Bootstrap 4、导航栏固定顶部和其他粘性顶部元素