Заливка формы при автозаполнении в HTML возникает из-за того, что браузер сохраняет информацию, введенную пользователем в поля формы, и автоматически заполняет поля ввода при последующих посещениях сайта или при заполнении подобных форм.
При автозаполнении браузер использует сохраненные данные и вставляет их в поля формы, заменяя значение, которое было изначально в атрибуте "value" поля. Однако, сам факт заполнения значений браузером не отменяет стандартное поведение HTML, где заливка полей формы определяется определенными атрибутами и стилями.
Значение, автоматически вставляемое браузером, может влиять на внешний вид поля, в зависимости от того, какие стили применены к полю формы. Если использован стиль, который явно устанавливает цвет фона или заливку поля, то автозаполнение может вызвать визуальное противоречие между стилями и введенным значением, которое заполняет браузер.
Если вы хотите отменить заливку при автозаполнении, то вы можете использовать CSS псевдокласс ":placeholder-shown", который определяет стилизацию поля при отображении "placeholder" текста (текста-подсказки) или задать специфичные стили для полей со значением, введенным автозаполнением.
Вот пример CSS кода, который может быть использован для отмены заливки при автозаполнении:
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus { background-color: #fff; background-image: none; color: #000; -webkit-text-fill-color: #000; -webkit-box-shadow: 0 0 0px 1000px white inset; transition: background-color 5000s ease-in-out 0s; }
К сожалению, на данный момент нет стандарта или атрибута, который позволил бы полностью отменить заливку полей формы при автозаполнении в HTML без использования JavaScript или CSS хаков.