代码之家  ›  专栏  ›  技术社区  ›  fstanis

空元素的位置与内容元素的位置不同?

  •  1
  • fstanis  · 技术社区  · 9 年前

    我想买一个固定尺寸的 <button> 输入旁边。我尝试了以下方法:

    <form>
      <input type="text">
      <button type="submit">S</button>
    </form>
    

    CSS(客服代表):

    input {
      height: 38px;
      width: 50%;
    }
    button {
      height: 38px;
      width: 38px;
    }
    

    <form>
      <input type="text">
      <button type="submit"></button>
    </form>
    

    Button moved

    Fiddle here

    在这一点上,我真的很好奇是什么导致了这种行为,我能做些什么来防止它(除了添加例如 &nbsp; 或a :before 按钮)?

    2 回复  |  直到 9 年前
        1
  •  2
  •   Lazar Ljubenović    9 年前

    默认情况下,元素按基线对齐。在第一个示例中,没有文本,因此元素的基线由元素本身作为框确定,这意味着浏览器“看到”基线作为元素的底部。

    看看吧 vertical-align 's possible values 看看什么最适合你的需要。 middle , top bottom 由于您的按钮与输入的大小相同,但可以根据您的未来计划进行选择,因此在这里都可以正常工作。

        2
  •  1
  •   bugwheels94    9 年前

    使用垂直对齐属性更改对齐方式

    button {
      height: 38px;
      vertical-align:middle;
      width: 38px;
    }
    

    DEMO