Вы правы, разница в 4px. Ширина input
составляет 103 пикселя, а ширина select
- 99 пикселей. Я понятия не имею, почему это происходит, но вы можете обойти это так:
<style type="text/css">
.searchInput {
overflow: hidden;
}
select.searchInput {
width: 101px;
}
input.searchInput {
width: 97px;
}
</style>
Это действительно довольно глупо, и мне было бы очень интересно, если бы кто-то знал, почему это происходит, и как это предотвратить.
Обходной путь работает в Webkit и Firefox. Разница в пикселях отличается в IE.
Самое смешное, что они обычно имеют одинаковый размер, если использовать HTML-тип документа.