HTML/CSS 两个看似相等的元素,位置不同

标签 html css

我正在尝试用 HTML 制作一个表单。我能解释的最好方法是展示我的代码。

HTML:

form div {
  position: relative;
  display: inline-block;
  height: 100px;
}
.inputContainer {
  display: inline-block;
}
.inputContainer input {
  display: block;
  width: 14em;
}
.inputTitle {
  display: inline-block;
  position: relative;
  bottom: 1.5em;
}
<form>
  <div>
    <div class="inputTitle">[Name]</div>
    <div class="inputContainer">
      <input type="text" name="lastName"></input><sup>last</sup>
    </div>
    <div class="inputContainer">
      <input type="text" name="firstName"></input><sup>first</sup>
    </div>
    <div class="inputContainer">
      <input type="text" name="middleName"></input><sup>middle</sup>
    </div>
  </div>
  <div>
    <div>[SS#]</div>
    <div class="inputContainer">
      <input type="text" name="socialFirst"></input>
    </div>
    -
    <div class="inputContainer">
      <input type="text" name="socialMiddle"></input>
    </div>
    -
    <div class="inputContainer">
      <input type="text" name="socialLast"></input>
    </div>
  </div>

</form>

在谷歌浏览器中: The form in browser 有人可以解释为什么左上角的元素不从相同的 y 位置开始,因为高度属性向页面底部而不是顶部增加吗?

最佳答案

inline-block 元素的默认垂直对齐baseline。将 vertical-align 更改为 top

form div {
  position: relative;
  display: inline-block;
  height: 100px;
  vertical-align: top;
}

关于HTML/CSS 两个看似相等的元素,位置不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41881837/

相关文章:

html - 框架的替代品以包含来自不同服务器的内容

html - 在一行中使用 flexbox,左对齐和右对齐元素

css - 将自定义字体与 CSS 结合使用时布局更改直到文件加载

html - 在 CSS 中设计一个导航栏

css - jQuery Mobile 1.4.0 如何防止页面背景图片拉伸(stretch)?

html - 为什么我的下拉菜单没有显示?

html - CSS 拆分多个 div,只有一个滚动

javascript - 使用 CSS + jQuery 在悬停时制作翻转效果,在模糊时淡入淡出

css - 跳过 CSS 中填充、边距等的简写属性

css - Bootstrap 网格列在 sm 和 xs 设备上无法按预期工作