input type为text和button的不对齐问题 以及 之间的小空格

文章讲述了在Chrome浏览器中遇到input文本框和button按钮对齐问题,以及它们之间小空格的问题。尽管在Firefox和IE下表现正常,但Chrome中存在对齐异常。作者尝试多种解决方案,包括设置vertical-align、使用浮动布局和通过value为空格来调整。同时,提到了input元素间的空格是因为它们是inline-block元素的特性,可以通过设置父元素font-size为0或移除空格来消除间隔。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天实验室学弟问我 “怎么这个输入、搜索按钮怎么都对不齐啊”

就像这样子:

咦 怎么会 我看看 代码没毛病啊 同样的height、同样的line-height,各有一个width(复习一下,input属于inline-block元素)

倒腾了好久 感觉甚是诡异 现在回想 怎么没有赶紧百度下 踩过这个坑的前辈们也是不少啊 

首先要说明的是这个现象只会出现在Chrome中 没想到这次会是Chrome的锅 在Firefox和IE下都比较正常

至于原因呢。。。有人这么说,不过我已经把它们的border、padding都设为0了,还是对不齐,所以不敢苟同,希望知道的大大告知


而解决方案呢 ,这就比较多了

1.包裹+浮动:如span+float:left


主要代码:

.text{
    padding:0;
    border:0;
    width:400px;
    height: 30px;
}
.but{
    border:0;
    padding: 0;
    width: 30px;
    height: 30px;
    background: url(so.svg);
}
span{
    float: left;
}

    <form>
        <span><input class="text" type="text" name="inputext" placeholder="请输入搜索内容"></span>
        <span><input class="but" type="button" name="but"></span>
    </form>

    <form>
        <input class="text" type="text" name="inputext" placeholder="请输入搜索内容">
        <input class="but" type="button" name="but">
    </form>
2.vertical-align

有三种设置方法任君选择:对button的加vertical-align:bottom/middle,或对text的加vertical-align:top

3.用空格value

这是我自己倒腾发现的,当button不设置width的时候,两者是会对齐的,当然是要给button加了value才能反映出来,这确实是挺奇怪的,所以把value内容换成空格也是可以的,当然这只是个小发现,生产中必然不可如此。


最后顺便说一下,button和text之间的空格

原因呢是他们是inline-block,必然带有内联元素的属性 就是内容间的间隔

两个常用的方法;1.在父元素设置font-size:0px;2.去掉代码中两个input间的空格,有种显示上比较优雅的方式,就是用注释(这是从张鑫旭大神那看来的)



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值