1. Sebab masalah ini ialah semasa menulis halaman log masuk akaun, imej latar belakang telah ditambahkan pada borang input Apabila ia diisi secara automatik, latar belakang kuning muda muncul.
Sebabnya ialah saya tergesa-gesa menetapkannya terus dalam elemen input, dan masalah itu datang. Jadi jika anda meletakkan ikon ini di luar borang input, masalah ini tidak akan berlaku.
2. Cara menangani dan mengelakkan gaya lalai penyemak imbas yang akan ditambahkan pada isian automatik borang
Gambar kedua ialah selepas borang diisi secara automatik, chrome akan menambah input:-webkit-autoisi atribut peribadi pada borang input yang diisi secara automatik secara lalai
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { background-color: rgb(250, 255, 189); /* #FAFFBD; */ background-image: none; color: rgb(0, 0, 0); }
Apabila saya melihat kod ini ditambahkan di sini, saya akan terfikir untuk menggunakan gaya ganti untuk menyelesaikannya. Saya pasti boleh menggunakan !important untuk meningkatkan keutamaan. Tetapi ada masalah, tambah! penting tidak boleh menimpa latar belakang asal dan warna fon Kecuali definisi lalai chrome bagi warna latar belakang, imej latar belakang, warna tidak boleh digunakan
!penting meningkatkan keutamaan. Atribut lain boleh menggunakannya untuk meningkatkan keutamaan.
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { background-color: #FFFFFF; background-image: none; color: #333; /* -webkit-text-fill-color: red; //这个私有属性是有效的 */ } input:-webkit-autofill:hover { /* style code */ } input:-webkit-autofill:focus { /* style code */ }
Terdapat dua idea 1. Betulkan pepijat melalui tampalan. 2. Matikan fungsi pengisian borang terbina dalam penyemak imbas
Senario 1: Kotak teks input mempunyai latar belakang warna pepejal
Penyelesaian:
input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white inset; -webkit-text-fill-color: #333; }
Senario 2: Kotak teks input menggunakan latar belakang gambar
Penyelesaian:
if (navigator.userAgent.toLowerCase().indexOf("chrome") >= 0) { var _interval = window.setInterval(function () { var autofills = $('input:-webkit-autofill'); if (autofills.length > 0) { window.clearInterval(_interval); // 停止轮询 autofills.each(function() { var clone = $(this).clone(true, true); $(this).after(clone).remove(); }); } }, 20); }
Mula-mula tentukan sama ada ia adalah krom Jika ya, lewati elemen input:-webkit-autofill, dan kemudian laksanakannya melalui operasi seperti pengambilan nilai, penambahan dan pengalihan keluar. Kaedah ini tidak berfungsi! !
Jadi akhirnya, saya tidak menggunakan ikon sebagai imej latar belakang borang input, sebaliknya, saya menulis label tambahan dan mengambil ikon di luar borang.
Idea 2: Matikan fungsi pengisian borang terbina dalam penyemak imbas
Tetapkan atribut borang autocomplete="off/on" untuk mematikan borang pengisian automatik dan ingat kata laluan itu sendiri