input 和 span 之间有烦人的缝隙?该怎么破

发布于 2022-09-01 12:24:59 字数 913 浏览 8 评论 0

有一个比较诡异的问题想请教一下各位。

如图,我想做一个搜索框,后面会紧挨一个搜索按钮的效果。
但是发现这个搜索框和按钮之间会有缝隙,请问这个是什么原因造成的,该怎么破?
clipboard.png

HTML:

<input id="jbzb_searchbox" type="text" placeholder="输入床号或姓名" />
<span id="search" class="btn_search" onmousedown="this.className+=' active'"  onmouseup="this.className='btn_search';">搜索</span>

CSS:

#jbzb_searchbox{
    margin:0;padding:1px 0 1px 4px;margin-left:30px;border-radius:0; -webkit-border-radius:0;-moz-border-radius:0;border:1px solid #CAC7CD;color:#585655;
}
.btn_search{
    display:inline-block;width:76px;border:1px solid #CAC7CD;border-left:none;text-align:center;cursor:pointer;height:22px;line-height:22px;color:#565855;
    background:url(../images/sbtn_b.png) -1px -1px no-repeat;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

浪漫人生路 2022-09-08 12:24:59

设置父级的font-size:0 ,可以解决!

傲世九天 2022-09-08 12:24:59

似乎是和换行有关系的,当你把span和input放一行时就没有问题。

可以通过float 或 margin-left 来解决。margin-left 可能会有不同浏览器的兼容性,建议使用float吧。

困倦 2022-09-08 12:24:59

原因就是浏览器会把连续的多个空格或换行渲染成一个空格。

解决办法参考 @netingcn 的回答,或者设置父级元素font-size:0 ,子元素重新设置font-size

任谁 2022-09-08 12:24:59

两个都不是display:block,加上float:left,看看会不会如楼主所想的后者贴在前者的后面

浮云落日 2022-09-08 12:24:59

float: left

萌梦深 2022-09-08 12:24:59

这个给题主一个建议,你这个按钮一点都没有语义化,按钮就是按钮,为什么要用span,button也可以设置背景图片,而且css3有很多的新属性去美化这个按钮,不需要在用背景图了(精灵图)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文