Быстрый отказ от ответственности: это сообщение содержит четкий пример того, почему человек выбрал бы текстовый отступ в поле ввода вместо заполнения. Он не отвечает «как исправить IE обрабатывать отступ текста в полях ввода»
Особенность padding-left в том, что она изменяет ширину поля ввода, что может быть нежелательно.
Представьте себе сценарий, в котором вы хотите показать значок фонового изображения для следующих состояний ваших входных данных:
- обязательное поле
- неверный ввод
- пропущено обязательное поле
- Надежность пароля
В таком сценарии нам нужно отодвинуть текст от левой границы, чтобы отобразить значок (что гораздо проще, чем перейти на правую сторону, но это совсем другое обсуждение. Если мы используем отступы ширина поля ввода изменяется. Это не идеально, так как могут изменяться различные «состояния».
Например, возможно, поле является обязательным только на основе значения другого поля. Когда это поле «становится» обязательным, поле «растет» в соответствии с тем заполнением, которое мы применяем для перемещения текста от значка через соответствующий класс. Это далеко не элегантно, особенно когда рядом с ним расположены другие поля.
Кроме того, в случае текстовых полей мы не хотим дополнять всю сторону - первой строки будет достаточно.
Именно здесь вступает в игру использование текстового отступа. И это прекрасно работает - кроме как в Internet Explorer. Именно это привело меня сюда, когда я ищу другие идеи или решения. У меня есть несколько идей, но, надеюсь, есть кое-что попроще, о котором я не подумала.