表单密码自动填充hack

前言

写前端的,最讨厌的事有几个,其中一个就是用户/自己输入的密码被浏览器记住之后,每次打开页面都会自动填充。甚至不分青红皂白,每个页面只要有password类型的输入框,就会自动填充。尤其是chrome。

不仅烦人,有时候还会影响样式,比如chrome下,输入框带有背景icon,但是自动填充会变成黄色背景,你的背景icon没了……

怎么办?

解决办法

网上有很多hack的办法,有的用js控制输入框类型,有的定时器清除输入框的值,但是都不太好用。

经过研究/测试,发现了一种很简单的hack方法,纯css+html,不影响页面布局,不需要js,稳定,效果很棒。

CSS

.hide-input{
    width: 0;
    height: 0;
    position: absolute;
    top: -100000px;
    opacity: 0;
}

HTML

<input type="text" class="hide-input"> 
<input type="password" class="hide-input"> 
<input type="password" placeholder="请输入密码" />

对于chrome浏览器,如果页面上有两个以上的password类型输入框,自动填充的时候只会填充第一个以及改输入框的上一个,分别填充账号和密码。

但是前提是该password输入框必须是可见的,不能是display: none;或者visibility: hidden;,所以,对于需要隐藏的输入框,我们设置宽度为0,高度为0,透明度为0,绝对定位,在页面上方很高的位置,这样的设置,既保证了该元素的可见性,又确保不会因为意外而影响到页面的其他元素。

结语

这样的写法,有些累赘。但是如果做成组件,就很方便了。
现在前端框架都是组件化的,我们完全可以把password输入框做成一个组件,使用起来不就很方便了吗?

希望能给你一点帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值