IEだけ縦方向の padding が大きくなってしまう問題と対策

先日サイドバーに設置した検索フォームだが、IE (MS Internet Explorer) と Firefox/Chrome で見え方が違うのに気付いた。
スタイルシートの padding を最初 15px にしていたのだが、何故か IE で極端に広くなってしまうので、IE に合わせて 1px にしていた。
昨日、Chrome で動作チェックしていて、縦方向の padding がほとんどないのに気付いた。Firefox でも同様だった。これは、非常に見栄えが悪い。(X_X)
スタイルシートで設定した数値の意味を考えれば、どう考えても Firefox/Chrome の動作が正しく、IE のバグだと考えられる。

「WordPressレッスンブック」のp281に、ナビゲーションバーの話であるが、「Internet Explorere 6 で崩れるのを防ぐため、width: 100%の指定を追加する」というのがあったので、同じ手を試してみた。
すると、上方向の padding は正常になったのだが、下方向は変わらず。更に副作用で、3つのブラウザ全てで検索フォーム全体の幅が右方向に長くなってしまった。(X_X)

色々試行錯誤した結果、% でなく、px で数値を入れれば、調整ができる事が判明。
width: 190px、height: 55px を指定したら、ほぼ望み通りの見た目になった。(190px は、サイドバーの幅 220px から左右それぞれ 15px の padding を引いた数)

ただ、Firefox だけ、幅が足りなくなったようで、入力Boxと検索ボタンが1行に収まらず、検索ボタンの前に改行が入ってしまった。
index.php の方で、検索Box の幅を width: 140px から width: 135px に狭める事で解決。

それにしても、Microsoft はどうしてこういう問題を放置しておくんだろう? 気付いていないとは思えないのだが。(X_X)

/* 検索フォーム */
div#search_form {font-size: 0.75em;
  font-weight: bold;
  color: #ffffff;
  background-color: #0c8bcd;
  padding: 15px 15px; ←1pxから15pxに変更(右は元々15px)
  margin: 10px 0;
  width: 190px; ←追加
  height: 55px} ←追加