css中input與button在一行高度不一致的解決方法


在寫html表單的時候,發現了一個問題:input和button設置了一樣的寬高,但是顯示高度確不一致,先看代碼:

1 <style>
2 input,button{
3     width:100px;
4         height: 60px;
5 }
6 </style>
7 <input type="text" value="測試"/>
8 <input type="button" value="按鈕"/>
9 <button>按鈕</button>

 

在谷歌瀏覽器中顯示如下:

 

很明顯的看出高度不一樣。這是由於button在高度計算上始終使用了Quirks模式。在Quirks模式下,邊框的計算是在元素的寬度內的,而不像標准模式一樣計算在外部(button的高度包含邊框的高度,而文本框text則不包含邊框高度。),所以需要加2行代碼-webkit-box-sizing:border-box;-moz-box-sizing:boder-box;如下:

1 <style>
2 input,button{
3     -webkit-box-sizing:border-box;
4         -moz-box-sizing:boder-box;
5         width:100px;
6         height: 60px;
7 }
8 </style>

熊貓辦公https://www.wode007.com/sites/73654.html

現在高度就一致了:

box-sizing:border-box說明;

當我們設置box-sizing: border-box;時,border和padding則是被包含在寬高之內的。內容的寬和高可以通過定義的“width”和 “height”減去相應方向的“padding”和“border”的寬度得到。內容的寬和高必須保證不能為負,必要時將自動增大該元素border box的尺寸以使其內容的寬或高最小為0。  

 

備注:除了上面方式外,我們還可以通過設置border:0;padding:0;或者根據Quirks模式的區別,設置不同的height值,同樣可以達到高度一致的效果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM