title: Input text with css "width 100%" larger than container
body: <p>If a <code>select</code> tag respects the 100% defined in the CSS, then why can't an <code>input</code>? When inspecting it at the <code>Box Model</code> in Firefox, I see a padding of 1 and a lateral border of 5.33333!</p>
  
  <p><a href="https://i.stack.imgur.com/zAkyW.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zAkyW.png" alt="screenshot showing border &gt; 5"></a></p>
  
  <p>Why doesn't that border appear around the input? And why is it defined so large as default? What for? I noticed that applying a CSS <code>box-sizing:border-box;</code> solves the issue, but where is all this specified? I see nothing on <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/text" rel="nofollow noreferrer">MDN</a>.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>div {
    background-color:green;
    width:300px;
    height:200px;
  }
  #txt {
    width:100%;
  }
  #sel {
    width:100%;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div&gt;
    &lt;p&gt;&amp;nbsp;&lt;/p&gt;
    &lt;input type='text' id='txt' /&gt;
    &lt;p&gt;&amp;nbsp;&lt;/p&gt;
    &lt;select id='sel'&gt;
    &lt;/select&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>