[html] Chrome 양식 자동 완성 및 노란색 배경

Chrome 및 양식 자동 완성 기능에 디자인 문제가 있습니다. Chrome에서 일부 로그인 / 비밀번호를 기억하면 배경색이 노란색으로 바뀝니다.

스크린 샷은 다음과 같습니다.

대체 텍스트
대체 텍스트

그 배경을 제거 하거나이 자동 채우기를 비활성화하는 방법은 무엇입니까?



답변

“흰색”을 원하는 색상으로 변경하십시오.

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


답변

투명한 입력 필드를 원한다면 전환 및 전환 지연을 사용할 수 있습니다.

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


답변

여기에 해결책 :

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);
        });
    });
}


답변

Firefox에서는 autocomplete = “off / on”속성을 사용하여 양식에서 모든 자동 완성을 비활성화 할 수 있습니다. 마찬가지로 개별 속성 자동 완성은 동일한 속성을 사용하여 설정할 수 있습니다.

<form autocomplete="off" method=".." action="..">  
<input type="text" name="textboxname" autocomplete="off">

Chrome에서 제대로 작동하는지 테스트 할 수 있습니다.


답변

입력 요소에 첨부 된 데이터, 첨부 된 핸들러 및 기능뿐만 아니라 자동 완성을 유지하려면 다음 스크립트를 시도하십시오.

if (navigator.userAgent.toLowerCase().indexOf("chrome") >= 0)
{
    var _interval = window.setInterval(function ()
    {
        var autofills = $('input:-webkit-autofill');
        if (autofills.length > 0)
        {
            window.clearInterval(_interval); // stop polling
            autofills.each(function()
            {
                var clone = $(this).clone(true, true);
                $(this).after(clone).remove();
            });
        }
    }, 20);
}

자동 완성 요소를 찾을 때까지 폴링하고 데이터 및 이벤트를 포함하여 요소를 복제 한 다음 동일한 위치의 DOM에 삽입하고 원본을 제거합니다. 페이지 채우기 후 자동 채우기가 1 초 정도 걸리므로 복제 할 항목이 있으면 폴링을 중지합니다. 이것은 이전 코드 샘플의 변형이지만 더 강력하고 가능한 많은 기능을 그대로 유지합니다.

(Chrome, Firefox 및 IE 8에서 작동하는지 확인했습니다.)


답변

다음 CSS는 노란색 배경색을 제거하고 선택한 배경색으로 바꿉니다. 자동 채우기를 비활성화하지 않으며 jQuery 또는 Javascript 해킹이 필요하지 않습니다.

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;
}

솔루션 복사에서 :
HTML / CSS로 강조 재정의 브라우저 양식 작성 및 입력


답변

나를 위해 일한 CSS 변경 만 필요합니다.

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #ffffff inset!important;
}

#ffffff 대신 어떤 색이든 넣을 수 있습니다 .