Первое, самое простое, решение:


Допустим мы имеем форму такого вида:

<form action="">
	<input type="text" />
	<input type="password" />
</form>

Так вот, какой бы стиль мы не задали для этих полей, любой Webkit-браузер все равно перекроет его своей "желтизной". Поразмыслив, приходишь к выводу что подсвечиваются только поля с сохраненными данными. А значит, отключив возможность сохранения, мы отключим и подсветку. Для этого, каждому полю где не нужен "желтый цвет", необходимо присвоить атрибут autocomplete="off".

После этого форма станет выглядеть так:

<form action="">
	<input type="text" autocomplete="off" />
	<input type="password" autocomplete="off" />
</form>

Второе решение - используем jQuery:


В данном примере также нет ничего сложного, но подход в корне иной. Для начала нужно подключить jQuery (если не подключен), а затем использовать скрипт который "навяжет" браузерам семейства Webkit свои правила:

$(document).ready(function(){
	if(navigator.userAgent.toLowerCase().indexOf('chrome') >= 0){
		$(window).load(function(){
			$('input:-webkit-autofill').each(function(){
				$(this).after(this.outerHTML).remove();
				$('input[name='+$(this).attr('name')+']').val($(this).val());
			});
		});
	}
});

Кое-что еще:


В "интернетах" я встречал такое CSS правило:

input:-webkit-autofill {
    color: #2a2a2a !important;
}

По-сути, оно должно работать и указывать стиль для заполненных полей, но на деле, лично у меня, этого не было ни разу.

Резюмируя:


Если взвесить два решения данной проблемы, то с совершенно очевидным преимуществом побеждает второе. Во-первых, jQuery сейчас используется практически везде, и данный кусок кода вполне оправдан, во-вторых, тенденция отключать javascript в браузере уже изжила себя и, в-третьих, мы не лишаемся функционала автозаполнения, который бывает очень полезен.