开发者

CSS padding added to height/width for <input type='submit'>

开发者 https://www.devze.com 2023-03-07 16:10 出处:网络
If this question has been asked, I apologize, but I couldn\'t find the exact same question. As W3schools says, The height property does not include padding, borders, or margins! (link). So here\'s a s

If this question has been asked, I apologize, but I couldn't find the exact same question. As W3schools says, The height property does not include padding, borders, or margins! (link). So here's a simple style declaration:

input {
  width:180px;
  height:18px;
  padding:7px;
  border:1px solid black;
}

and here's html:

<input type='text' name='text' value='194px by 32px' /><br  />
<input type='submit' name='button' id='button' value='180px by 18px' />

The text field is 194px by 32px as expected, but the submit button is 180px by 18px. Obviously, I can just increase the height & width of t开发者_高级运维he button by twice the padding, but I want to understand why there's a discrepancy. I made a jsfiddle here: http://jsfiddle.net/RRf5A/. Thanks for your help. FYI, I already tried <button> instead of input submit, and display:inline-block.


You can get around this by adding box-sizing: content-box; to input elements of the type submit. Rather than go into detail myself I'll just send you along to http://www.quirksmode.org/css/box.html. However, it's not currently supported all across the board so you might find it better for cross-browser compatibility to specifically declare different heights and paddings for submission buttons.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号