您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用HTML / CSS覆盖浏览器表单填写和输入突出显示

使用HTML / CSS覆盖浏览器表单填写和输入突出显示

对于自动完成,可以使用:

<form autocomplete="off">

关于着色问题:

从您的屏幕截图中,我可以看到该webkit生成以下样式:

input:-webkit-autofill {
    background-color: #FAFFBD !important;
}

1)由于#id样式比.class样式更为重要,因此 可以 使用以下方法

#inputId:-webkit-autofill {
    background-color: white !important;
}

2)如果不起作用,您可以尝试通过javascript以编程方式设置样式

$("input[type='text']").bind('focus', function() {
   $(this).css('background-color', 'white');
});

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

CSS:

input:focus {
    background-position: 0 0;
}

并且以下javascript必须在加载时运行:

function loadPage()
{
    if (document.login)//if the form login exists, focus:
    {
        document.login.name.focus();//the username input
        document.login.pass.focus();//the password input
        document.login.login.focus();//the login button (submitbutton)
    }
}

例如:

<body onload="loadPage();">

祝好运 :-)

5)如果上述任何一项均未尝试删除输入元素,将其克隆,然后将克隆的元素放回到页面上(在Safari 6.0.3上有效):

<script>
function loadPage(){

    var e = document.getElementById('id_email');
    var ep = e.parentNode;
    ep.removeChild(e);
    var e2 = e.cloneNode();
    ep.appendChild(e2);

    var p = document.getElementById('id_password');
    var pp = p.parentNode;
    pp.removeChild(p);
    var p2 = p.cloneNode();
    pp.appendChild(p2);
}

document.body.onload = loadPage;
</script>

6)从这里:

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);
        });
    });
}
CSS 2022/1/1 18:16:08 有452人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶