Добавить box-sizing
к вашему полю ввода:
input{
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
padding: 10px;
}
Базовым "проблема" является окно модель HTML/CSS. Как вы можете видеть в поле illustration of the respective MDN article, каждый элемент имеет четыре области: поле поля, рамка, поле для заполнения и поле для содержимого.
Когда вы назначаете меры (width
или height
) элементу, это применяется к одной из этих областей. Если область является, например, поле содержимого, то для общего размера поля элемента добавляются граница и дополнение. Таким образом, вы не будете устанавливать общие размеры окна, но один из его содержащихся ящиков.
Свойство CSS box-sizing
сообщает браузеру, какое поле использовать при вычислении размеров элемента. Значение по умолчанию: content-box
. Таким образом, в приведенном выше примере значения для поля, границы и заполнения добавляются и, следовательно, элемент слишком велик. Установив модель окна на border-box
, только размеры добавляются к размерам (которые здесь равны нулю), и элементы подходят.
Works. Спасибо. :) – ojek
Привет @Sirko, не могли бы вы объяснить, что здесь происходит и почему это свойство устраняет проблему? Благодаря! – brain56
@ brain56 Добавлено несколько пояснений. – Sirko