css中input与button在一行高度不一致的解决方法

在写html表单的时候,发现了一个问题:input和button设置了一样的宽高,但是显示高度确不一致,先看代码:

<style>
input,button{
    width:100px;
        height: 60px;
}
</style>
<input type="text" value="测试"/>
<input type="button" value="按钮"/>
<button>按钮</button>

在谷歌浏览器中显示如下:

css中input与button在一行高度不一致的解决方法

很明显的看出高度不一样。这是由于button在高度计算上始终使用了Quirks模式。在Quirks模式下,边框的计算是在元素的宽度内的,而不像标准模式一样计算在外部(button的高度包含边框的高度,而文本框text则不包含边框高度。),所以需要加2行代码-webkit-box-sizing:border-box;-moz-box-sizing:boder-box;如下:

<style>
input,button{
    -webkit-box-sizing:border-box;
        -moz-box-sizing:boder-box;
        width:100px;
        height: 60px;
}
</style>

熊猫办公https://www.wode007.com/sites/73654.html

现在高度就一致了:

css中input与button在一行高度不一致的解决方法

box-sizing:border-box说明;

当我们设置box-sizing: border-box;时,border和padding则是被包含在宽高之内的。内容的宽和高可以通过定义的“width”和 “height”减去相应方向的“padding”和“border”的宽度得到。内容的宽和高必须保证不能为负,必要时将自动增大该元素border box的尺寸以使其内容的宽或高最小为0。  

备注:除了上面方式外,我们还可以通过设置border:0;padding:0;或者根据Quirks模式的区别,设置不同的height值,同样可以达到高度一致的效果