css中input与button在一行高度不一致的解决方法小白基础_宽高小白帮助

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

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

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

css中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>

现在高度就一致了:

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值,同样可以达到高度一致的效果

海计划公众号
(0)
上一篇 2020/04/05 01:52
下一篇 2020/04/05 01:52

您可能感兴趣的内容