Chrome otomatik tamamlama için giriş arka plan rengi kaldırılsın mı?


653

Üzerinde çalıştığım bir formda Chrome, e-posta ve şifre alanlarını otomatik olarak dolduruyor. Bu iyidir, ancak Chrome arka plan rengini açık sarı renge dönüştürür.

Üzerinde çalıştığım tasarım karanlık bir arka plan üzerinde açık renkli metin kullanıyor, bu yüzden bu formun görünümünü gerçekten bozuyor - sade sarı kutular ve neredeyse görünmez beyaz metinler var. Alan odaklandıktan sonra alanlar normale döner.

Chrome'un bu alanların rengini değiştirmesini durdurmak mümkün müdür?


2
Burada daha geniş bilgilere
sahipsiniz

Benzer bir
gönderiye

Yanıtlar:


1170

Bu iyi çalışır, Giriş kutusu stillerini ve giriş kutusundaki metin stillerini değiştirebilirsiniz:

Burada örneğin herhangi bir renk kullanabilirsiniz white, #DDD, rgba(102, 163, 177, 0.45).

Ama transparentburada çalışmayacak.

/* Change the white to any color ;) */
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active  {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}

Ayrıca, metin rengini değiştirmek için bunu kullanabilirsiniz:

/*Change text in autofill textbox*/
input:-webkit-autofill {
    -webkit-text-fill-color: yellow !important;
}

Tavsiye: Yüzlerce veya binlerce aşırı bulanıklık yarıçapı kullanmayın. Bunun bir yararı yoktur ve işlemci yükünü zayıf mobil aygıtlara yükleyebilir. (Gerçek, dış gölgeler için de geçerlidir). 20 piksel yükseklikte normal bir giriş kutusu için 30 piksel 'bulanıklık yarıçapı' onu mükemmel şekilde kaplar.


1
Chrome'da şimdi kullanıcı aracısı stil sayfası yerine gösterileri :-internal-autofill-previewedve :-internal-autofill-selectedsahte sınıfları -webkit-autofill... Gizemli bir şekilde, -webkit-autofillyine de çalışıyor. Şahsen ihtiyacım yoktu !important.
Andy

Vurgulu / netleme / aktif sahte seçicilere ihtiyacım yoktu
antoine129

318

Bir kutu-gölge eklemenin önceki çözümleri, düz renk arka plana ihtiyaç duyan insanlar için iyi çalışır. Geçiş eklemenin diğer çözümü işe yarıyor, ancak bir süre / gecikme ayarlamak zorunda kalmak, bir noktada tekrar gösterilebileceği anlamına geliyor.

Benim çözümüm bunun yerine anahtar kareleri kullanmak, böylece her zaman seçtiğiniz renkleri gösterecektir.

@-webkit-keyframes autofill {
    0%,100% {
        color: #666;
        background: transparent;
    }
}

input:-webkit-autofill {
    -webkit-animation-delay: 1s; /* Safari support - any positive time runs instantly */
    -webkit-animation-name: autofill;
    -webkit-animation-fill-mode: both;
}

Örnek Codepen: https://codepen.io/-Steve-/pen/dwgxPB


Cazibe gibi çalışır.
Lalnuntluanga Chhakchhuak

1
Bu kesinlikle işe yarıyor! (Chrome 79)
Lashae

3
Bunu kabul edilen cevaptan daha iyi buluyorum ... kutu gölge yöntemi akıllı ve işe yarıyor, ancak bir kullanıcı otomatik doldurmak için bir değer seçtiğinde, varsayılan renk kısa bir süre giriş alanında kısa sürede yanıp sönüyor, bu da sorunlu olabilir. girişlerinizde koyu arka planlar varsa. Bu çözümün böyle bir sorunu yok. Şerefe!
skwidbreth

Mükemmel! Henüz umduğumdan daha iyi çalıştı!
sdlins

2
Bu özellikle Vuetify 2 için çalışıyorsacolor: inherit
Marc

275

Daha iyi bir çözümüm var.

Arka planı aşağıdaki gibi başka bir renge ayarlamak, sorunu çözmedi çünkü şeffaf bir giriş alanına ihtiyacım vardı

-webkit-box-shadow: 0 0 0px 1000px white inset;

Başka şeyler denedim ve bununla geldim:

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
}

7
Harika, şeffaf bir arka plana da ihtiyacım var. Not: -webkit-text-fill-color: yellow !important;Metin rengi için unutmayın .
gfpacheco

Bu, giriş gizlendiğinde / ile gösterildiğinde otomatik doldurma arka planını gösterecektir display. Fiddle - Check it out
Martin

27
Bunun yerine ayar transition-durationgülünç yüksek, ayarlamanın daha iyi olacağını transition-delayyerine. Bu şekilde renklerde herhangi bir değişiklik olasılığını daha da azaltırsınız.
Shaggy

transitionGiriş tarayıcı tarafından kaydedilen varsayılan bir girişle otomatik dolu değilse kesmek aksi sarı arkaplan hala orada olacak, sadece çalışacaktır.
guari

1
Harika bir çözüm .... ama bu neden işe yarıyor? Peki neden ayar background-colorçalışmıyor? Chrome'un bunu düzeltmesi gerekiyor !!
TetraDev

60

Bu benim çözümüm, geçiş ve geçiş gecikmesini kullandım, bu nedenle girdi alanlarımda şeffaf bir arka plana sahip olabilirim.

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-transition: "color 9999s ease-out, background-color 9999s ease-out";
    -webkit-transition-delay: 9999s;
}

6
Bir görüntüyü giriş alanının arka planı olarak ayarladım, bu çözüm sarı gölgeyi kaldırıyor, ancak arka plan görüntüsü hala gizli
Matteo Tassinari

Şimdiye kadarki en iyi çözüm, box-shadowdoğrulama için var
Yoann

krom dedi "color 9999s ease-out, background-color 9999s ease-out";valide dışa vurma değildir. O zaman kod kullandım -webkit-transition: background-color 9999s ease-out;ve-webkit-text-fill-color: #fff !important;
naanace

1
çalıştı ama benim için çift tırnak olmadan;)
Jon

@Yoann mevcut box-shadowdoğrulamanızla tam olarak nasıl çalıştı ? Benim durumumda, bu css kuralı nedeniyle, özel kırmızı kutu gölgem (giriş hatasını gösterir) ertelenir, bu da kullanıcının en iyi girdinin aslında iyi olduğunda geçersiz olduğuna inanmasını sağlar.
Paul Razvan Berg

50

Bu renklendirme davranışı WebKit'ten olduğu için bu şekilde tasarlanmıştır. Kullanıcının verilerin önceden doldurulduğunu anlamasını sağlar. Hata 1334

Otomatik tamamlamayı, (veya belirli form denetimini kullanarak) kapatabilirsiniz:

<form autocomplete="off">
...
</form

Veya aşağıdakileri yaparak otomatik doldurmanın rengini değiştirebilirsiniz:

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

Bunun tekrar çalışması için izlenen bir hata olduğunu unutmayın: http://code.google.com/p/chromium/issues/detail?id=46543

Bu bir WebKit davranışıdır.


22
teşekkürler ama bu webkit CSS kuralı çalışmıyor. Kullanıcı aracısı stil sayfası, (a) !importantve (b) daha yüksek özgüllük için bir kimlikle hedeflenmiş olsa bile, her zaman arka plan rengini geçersiz kılar . Görünüşe göre Chrome her zaman geçersiz kılacak. Otomatik tamamlamayı kaldırmak işe yarıyor gibi görünüyor, ancak gerçekten yapmak istediğim şey bu değil.
DisgruntledGoat

1
Bazı insanlar aynı sorunu yaşıyorlar, hata mesajını kontrol ettiniz mi? code.google.com/p/chromium/issues/detail?id=1334
Mohamed Mansour

6
Chrome, bu sarı rengi geçersiz kılma girişimlerini engeller. Ayar autocomplete="off"kesinlikle erişilebilirlik sorunlarını artıracaktır. Bu cevap neden doğru olarak işaretlendi?
João

2
Bu iyi bir çözümdür, ancak React kullanıyorsanız, otomatik tamamlamanın bilinmeyen bir DOM mülkü olduğundan şikayet edecektir. Bu nedenle, aslında autoComplete (kamuflajlı not).
Tim Scollick

2
Otomatik tamamlamayı kapatmak bir çözüm değil
Paullo

30

Şu an için olası bir çözüm, gölgenin içinde "güçlü" bir ayar yapmaktır:

input:-webkit-autofill {
    -webkit-box-shadow:0 0 0 50px white inset; /* Change the color to your own background color */
    -webkit-text-fill-color: #333;
}

input:-webkit-autofill:focus {
    -webkit-box-shadow: /*your box-shadow*/,0 0 0 50px white inset;
    -webkit-text-fill-color: #333;
}  

2
Bu gerçekten çalışan bir çözümdür, kabul edilen cevabın ortaya çıkacağı gibi sarı arka planı sadece birkaç kez atlamak istemiyoruz.
davidkonrad

22

otomatik doldurma stilini gizle için bunu dene

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:active,
input:-webkit-autofill:focus {
    background-color: #FFFFFF !important;
    color: #555 !important;
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
    -webkit-text-fill-color: #555555 !important;
    }

meraklı için, arka plan renginin bir etkisi yoktur. -Webkit-box-shadow, Chrome'daki sarı arka planı geçersiz kılan akıllı bittir
Geuis

19

Yukarıdaki yanıtların hepsi işe yaradı ancak hataları vardı. Aşağıdaki kod, yanıp sönmeden sorunsuz çalışan yukarıdaki cevaplardan ikisinin birleşmesidir.

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

Bir görüntüyü giriş alanının arka planı olarak ayarladım, bu çözüm sarı gölgeyi kaldırıyor, ancak arka plan görüntüsü hala gizli
Matteo Tassinari

Chrome 83'te benim için çalışan tek kişi bu. En çok oy alan, Chrome 82'ye kadar çalışıyor.
sdlins

19

SUKDÖ'nün

input:-webkit-autofill

  &,
  &:hover,
  &:focus,
  &:active
    transition-delay: 9999s
    transition-property: background-color, color

1
Kabul edilen cevap soluk sarı yanıp söndüğü için bu aslında benim için çalıştı.
CleoR

en iyi çözüm imho
Jan Paepke

15

Arama 2 saat sonra google hala bir şekilde sarı rengi geçersiz kılıyor gibi görünüyor ama bunun için düzeltme. Doğru. Hover, odak vb.Için de işe yarayacaktır. Yapmanız gereken tek şey eklemek! önemli.

 input:-webkit-autofill,
 input:-webkit-autofill:hover,
 input:-webkit-autofill:focus,
 input:-webkit-autofill:active {
 -webkit-box-shadow: 0 0 0px 1000px white inset !important;
  }

bu giriş alanlarından sarıları tamamen kaldıracaktır


11

Bir saatlik gecikme eklenmesi, giriş öğesindeki herhangi bir css değişikliğini duraklatır.
Bu, geçiş animasyonu veya iç gölge eklemek yerine daha iyidir.

input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill{
  transition-delay: 3600s;
}

10

Buna ek olarak:

input:-webkit-autofill{
-webkit-box-shadow: 0 0 0px 1000px white inset;
}

Ayrıca eklemek isteyebilirsiniz

input:-webkit-autofill:focus{
-webkit-box-shadow: 0 0 0px 1000px white inset, 0 0 8px rgba(82, 168, 236, 0.6);
}

Diğer akıllıca, girdiye tıkladığınızda sarı renk geri gelecektir. Odak için, önyükleme kullanıyorsanız, ikinci bölüm 0 0 8px rgba (82, 168, 236, 0.6);

Öyle ki, herhangi bir önyükleme girdisi gibi görünecek.


10

Kutu gölgesini kullanamadığım bir sorun yaşadım çünkü giriş alanının şeffaf olması gerekiyordu. Biraz hack ama saf CSS. Geçişi çok uzun bir süreye ayarlayın.

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
transition: background-color 50000s ease-in-out 0s, color 5000s ease-in-out 0s;
}

Şu an itibariyle en son Chrome 50.xx'de IT mükemmel çalışıyor. Çok teşekkürler!
vivekkupadhyay

2
Bunun yerine ayar transition-durationgülünç yüksek, ayarlamanın daha iyi olacağını transition-delayyerine. Bu şekilde renklerde herhangi bir değişiklik olasılığını daha da azaltırsınız.
Shaggy

@Shaggy teşekkürler, sadece bir gecikmeye geçtim. Çok daha hoş.
Alex

9

Şunu deneyin: Küçük ayarlamalar ile yukarıdaki @ Nathan-beyaz cevapla aynı .

/* For removing autocomplete highlight color in chrome (note: use this at bottom of your css file). */

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: all 5000s ease-in-out 0s;
    transition-property: background-color, color;
}

Bu, tüm yanıtları denedikten sonra en iyi yanıttır.
gfcodix

8

Otomatik tamamlama işlevini sağlam tutmak istiyorsanız Chrome'un stilini kaldırmak için biraz jQuery kullanabilirsiniz. Burada kısa bir yazı yazdım: http://www.benjaminmiles.com/2010/11/22/fixing-google-chromes-yellow-autocomplete-styles-with-jquery/

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

Bu en iyi çözüm gibi görünüyor, ancak Kicksend'in posta kontrolünü engelliyor . Bu sorunu nasıl çözeceğiniz hakkında bir fikriniz var mı?
João

O zamandan beri google chrome'un şifre otomatik tamamlama işlemi durduğundan bu iyi bir çözüm değildir. Başlangıçta adı doldurursunuz ve Google chrome otomatik olarak şifreyi doldurur. Ancak yukarıdaki javascript yürütüldüğünde, ad silinir ve tekrar ayarlanır ve otomatik doldurulmuş şifre kaybolur
vanval

6

JQuery olmadan JavaScript kullanarak başka bir çözüm geliştirdim. Bunu yararlı bulursanız veya çözümümü yeniden göndermeye karar verirseniz, yalnızca adımı eklemenizi rica ediyorum. Zevk almak. - Daniel Fairweather

var documentForms = document.forms;

for(i = 0; i < documentForms.length; i++){
    for(j = 0; j < documentForms[i].elements.length; j++){
        var input = documentForms[i].elements[j];

        if(input.type == "text" || input.type == "password" || input.type == null){
            var text = input.value;
            input.focus();
            var event = document.createEvent('TextEvent');
            event.initTextEvent('textInput', true, true, window, 'a');
            input.dispatchEvent(event);
            input.value = text;
            input.blur();
        }
    }
}

Bu kod, Google Chrome'un ek metin girer girmez Webkit stilini kaldırmasına dayanır. Yalnızca giriş alanı değerini değiştirmek yeterli değildir, Chrome bir etkinlik ister. Her bir giriş alanına (metin, şifre) odaklanarak, bir klavye etkinliği ('a' harfi) gönderebilir ve ardından metin değerini önceki durumuna (otomatik doldurulmuş metin) ayarlayabiliriz. Bu kodun her tarayıcıda çalışacağını ve web sayfasındaki her giriş alanını kontrol edeceğini, ihtiyaçlarınıza göre ayarlayacağını unutmayın.


iyi, çoğunlukla çalıştı .. ne yazık ki şifremi siler. İlk önce şifreyi kaydetmeye ve for döngülerinden sonra sıfırlamaya çalışmaya çalışıyorum, ancak krom bununla ilgili bazı sorunlar yaşıyor gibi görünüyor. mmmm
Dustin Silk

6

CSS Filtreleri kullanan saf bir CSS çözüm var.

filter: grayscale(100%) brightness(110%);

Gri tonlamalı filtre sarıyı gri ile değiştirir, ardından parlaklık griyi kaldırır.

KODUYU GÖR


Bu benim için işe yaramıyor mu?
Ikechukwu Eze

5

Bu, giriş, metin alanı ve normal, fareyle üzerine gelme, netleme ve etkin durumlarda seçim için çalışır.

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active,
{
    -webkit-box-shadow: 0 0 0px 1000px white inset !important;
}

SASS / SCSS ile çalışanlar için yukarıdaki çözümün SCSS sürümü.

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill
{
    &, &:hover, &:focus, &:active
    {
        -webkit-box-shadow: 0 0 0px 1000px white inset !important;
    }
}

Güzel ve SASS kodu için teşekkürler!
Bernoulli IT

4

Pusula kullananlar için:

@each $prefix in -webkit, -moz {
    @include with-prefix($prefix) {
        @each $element in input, textarea, select {
            #{$element}:#{$prefix}-autofill {
                @include single-box-shadow(0, 0, 0, 1000px, $white, inset);
            }
        }
    }
}

3

Pes ediyorum!

Otomatik tamamlama ile girişin rengini değiştirmenin bir yolu olmadığından, hepsini webkit tarayıcıları için jQuery ile devre dışı bırakmaya karar verdim. Bunun gibi:

if (/webkit/.test(navigator.userAgent.toLowerCase())) {
    $('[autocomplete="on"]').each(function() {
        $(this).attr('autocomplete', 'off');
    });
}

3

Google chrome otomatik doldurma önlemek istiyorsanız bir çözüm var ama onun biraz "pala", sadece google chrome bu giriş alanlarına ekler sınıfı kaldırmak ve göstermek gerekiyorsa değeri "" olarak ayarlamak veri yüklendikten sonra saklanır.

$(document).ready(function () {
    setTimeout(function () {
            var data = $("input:-webkit-autofill");
            data.each(function (i,obj) {
            $(obj).removeClass("input:-webkit-autofill");
                    obj.value = "";
            });
    },1);           
});

3

Daniel Fairweather'ın çözümü ( Chrome otomatik tamamlama için giriş arka plan rengini kaldırma? ) (Çözümünü oylamak isterim, ancak yine de 15 tekrar gerekir) gerçekten iyi çalışıyor. En çok oylanan çözümle gerçekten büyük bir fark var: arka plan görüntülerini tutabilirsiniz! Ancak küçük bir değişiklik (sadece Chrome kontrolü)

Ve aklınızda bulundurmanız gerekir, SADECE görünür alanlarda çalışır !

Formunuz için $ .show () kullanıyorsanız, show () olayından sonra bu kodu çalıştırmanız gerekir.

Tam çözümüm (Giriş formu için bir göster / gizle düğmeleri var):

 if (!self.isLoginVisible()) {
        var container = $("#loginpage");
        container.stop();
        self.isLoginVisible(true);
        if (navigator.userAgent.toLowerCase().indexOf("chrome") >= 0) {

            var documentForms = document.forms;
            for (i = 0; i < documentForms.length; i++) {
                for (j = 0; j < documentForms[i].elements.length; j++) {
                    var input = documentForms[i].elements[j];

                    if (input.type == "text" || input.type == "password" || input.type == null) {
                        var text = input.value;
                        input.focus();
                        var event = document.createEvent('TextEvent');
                        event.initTextEvent('textInput', true, true, window, 'a');
                        input.dispatchEvent(event);
                        input.value = text;
                        input.blur();
                    }
                }
            }
        }

    } else {
        self.hideLogon();
    }

Tekrar özür dilerim, yorum olmasını tercih ederim.

İsterseniz, kullandığım siteye bir bağlantı koyabilirim.


3

ve bu benim için çalıştı (Chrome 76 test edildi)

input:-internal-autofill-selected {
    background-color: transparent;
}

3

Yukarıdaki çözümlerin neredeyse tamamını denedim. Benim için hiçbir şey işe yaramıyor. Sonunda bu çözüm ile çalıştı. Umarım birisi yardım eder.

/* Change Autocomplete styles in Chrome*/
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 {
  border: 1px solid green;
  -webkit-text-fill-color: green;
  -webkit-box-shadow: 0 0 0px 1000px #000 inset;
  transition: background-color 5000s ease-in-out 0s;
}

Bu işe yaramaz (artık) ve CSS Tricks BTW'den kopyalandı
Bernoulli IT

1
Bu benim için çalıştı.
AzizStark

2

Teşekkürler Benjamin!

Mootools çözümü biraz daha zor, çünkü kullanarak alanları alamıyorum $('input:-webkit-autofill'), Yani kullandığım şey şudur:

if (navigator.userAgent.toLowerCase().indexOf("chrome") >= 0) {

  window.addEvent('load', function() {
    setTimeout(clearWebkitBg, 20);
    var elems = getElems();
    for (var i = 0; i < elems.length; i++) {
      $(elems[i]).addEvent('blur', clearWebkitBg);
    }
  });
}
function clearWebkitBg () {
  var elems = getElems();
  for (var i = 0; i < elems.length; i++) {
    var oldInput = $(elems[i]);
    var newInput = new Element('input', {
      'name': oldInput.get('name'),
      'id': oldInput.get('id'),
      'type': oldInput.get('type'),
      'class': oldInput.get('class'),
      'value': oldInput.get('value')
    });
    var container = oldInput.getParent();
    oldInput.destroy();
    container.adopt(newInput);
  }
}
function getElems() {
  return ['pass', 'login']; // ids
}

2

Çözümlerin hiçbiri benim için çalışmadı, girdilerin sayfa arka planının üzerine yerleştirilmiş saydam bir arka planı olduğu için iç gölge benim için çalışmaz.

Bu yüzden kendime, "Chrome belirli bir sayfada neyin otomatik olarak doldurulması gerektiğini nasıl belirler?" Diye sordum.

"Giriş kimlikleri mi, giriş adları mı görünüyor? Form kimlikleri mi? Form eylemi?"

Kullanıcı adı ve şifre girişleriyle yaptığım deneyler sayesinde, Chrome'un otomatik olarak doldurulması gereken alanları bulamamasına neden olacak iki yol vardı:

1) Şifre girişini metin girişinin önüne koyun. 2) Onlara aynı adı ve kimliği verin ... veya hiç isim ve kimlik vermeyin.

Sayfa yüklendikten sonra, javascript ile sayfadaki girişlerin sırasını dinamik olarak değiştirebilir veya dinamik olarak adlarını ve kimliklerini verebilirsiniz ...

Chrome neyin vurduğunu bilmiyor ... otomatik tamamlama bozuk!

Çılgın kesmek, biliyorum. Ama benim için çalışıyor.

Krom 34.0.1847.116, OSX 10.7.5


2

Ne yazık ki yukarıdaki çözümlerin hiçbiri 2016'da benim için işe yaramadı (sorudan birkaç yıl sonra)

İşte kullandığım agresif çözüm:

function remake(e){
    var val = e.value;
    var id = e.id;
    e.outerHTML = e.outerHTML;
    document.getElementById(id).value = val;
    return true;
}

<input id=MustHaveAnId type=text name=email autocomplete=on onblur="remake(this)">

Temel olarak, değeri kaydederken etiketi siler ve yeniden oluşturur, ardından değeri geri koyar.


Ücretli namrouti'nin çözümü Chrome 51.0.2704.106 / OSX 10.11.5'te benim için iyi çalışıyor.
Oens

2

Bunu kullanıyorum. benim için çalış. alanın sarı arka planını kaldırın.

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
input:-webkit-autofill:valid,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus
{
    -webkit-transition-delay: 99999s;
    -webkit-text-fill-color:#D7D8CE;
}

1

Daha önce de belirtildiği gibi, inset -webkit-box-shadow benim için en iyisi.

/* Code witch overwrites input background-color */
input:-webkit-autofill {
     -webkit-box-shadow: 0 0 0px 1000px #fbfbfb inset;
}

Ayrıca metin rengini değiştirmek için snippet'i kodlayın:

input:-webkit-autofill:first-line {
     color: #797979;
}

1

Bu benim için çalıştı:

padding: 5px;
background-clip: content-box;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.