html - 输入和按钮彼此相邻时的额外空间

标签 html css

<分区>

我这辈子都想不通。为什么按钮顶部有一个额外的像素?另外为什么它的左边有额外的空白?我想要做的就是让输入和按钮看起来彼此相连。

这可能吗?

html{
  background: green;
}
form {
  height: 40px;

  input {
    height: 30px;
    width: 75%;
    max-width: 400px;
    padding: 5px 10px;
    font-size: 16px;
    border: 0;
    background: gray;
  }

  button {
    background: #6699FF;
    height: 40px;
    width: 60px;
    background-image: url('https://i.imgur.com/Tp7TTNO.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-origin: content-box;
    padding: 7px;
    border: 0;
    color: transparent;
  }
}
<form>
  <input type="text" name="Term" class="saearch-input" placeholder="Search more than 3800 summaries">
  <button type="submit" class="">Search</button>
</form>

如果您也无法解释,但知道我如何通过其他方式实现这一点,我也会接受它作为答案。

最佳答案

空格在那里是因为跳行(返回)被认为是空白。为避免这种情况,您可以:

  1. inputbutton标签彼此紧挨着(更难阅读您的代码)
  2. 使用“注释技巧”,您可以在其中使用 <!-- 编写代码在 <input> 之后和 -->就在 <button> 之前.
  3. 使用display: flex在您的表单上以避免呈现空白。

对于您的按钮定位问题,它与基线对齐有关。 vertical-align: bottom;在你的按钮上将解决这个问题。

See the solution on this Fiddle

关于html - 输入和按钮彼此相邻时的额外空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48469074/

上一篇:javascript - 边界不适用于 JS 游戏中的球

下一篇:jquery - 使图像看起来好像越来越近 - CSS Perspective?

相关文章:

html - 如何在图像中包装容器

html - CSS @Styles.Render 不呈现样式表

javascript - 单击导航栏后如何在文本上放置动画?

javascript - 将固定位置放在相对位置时如何工作

javascript - 在一页中实现多个带有自定义按钮的TinyMCE编辑器

html - 如何去除 svg 边缘的背景色

html - bootstrap form-inline 和 form-group 中 <label> 标签周围的空白

javascript - JQuery SlideShow 的图像并不总是以正确的尺寸加载

javascript - 时间和点击触发图像变化

javascript - 关于动态文本框的建议