次の CSS を使用する場合:
input[type=button] {
background-color: white;
border: 1px solid black;
font-size: 15px;
height: 20px;
padding: 7px;
}
このHTMLで:
<input type="button" value="Foo" />
これが表示されると予想されるため、合計の高さは次のようになり36px
ます。
1px border
7px padding
20px content (with 15px text)
7px padding
1px border
ただし、代わりに Firefox 3.6 と Safari 4 の両方で次のように表示されます: (他のブラウザではテストしていません)
スクリーンショット http://labs.spiqr.nl/upload/files/1223ef9cbae3ab6e43bd1f9215ebedb157ac7b22.png
1px border
7px padding
4px content (with 15px text) => height - 2 * border - 2 * padding
7px padding
1px border
なぜこれが起こるのか誰にも分かりますか?
(たとえそれが予期された動作であっても、その背後にあるロジックは何ですか?)