自动填充前:
自动填充后:
解决办法
方法一:设置背景透明(通过拉长过渡时间,和延迟过渡开始时间,掩盖input自动填充背景颜色)
PS:注意,这个过渡效果会在你的delay time + transition time的时间长度后,完成过渡效果,也就是说
如下例:透明色仅能支持到1510s,就会出现蓝色背景,这个值可以设置成24小时,避免用户一直在这个页面不动,但是性能较差,不是很推荐
// 通过拉长过渡时间,和延迟过渡开始时间,掩盖input自动填充背景颜色input:-internal-autofill-previewed,input:-internal-autofill-selected {transition: background-color 1500s ease-out 10s;}
方法二:
react ant-design框架
仅提供autocomplete="off"
属性及属性值off,即可禁用历史下拉列表,避免出现自动填充色
<Input placeholder="请输入账号" autocomplete="off"></Input>
vue element-ui框架
css设置背景色
input:-webkit-autofill { box-shadow: 0 0 0px 1000px white inset !important;}
input标签添加autocomplete=“off” // 指定某个文本框取消自动填充
<el-input type="text" v-model="name" placeholder="请输入账号" autocomplete="off" ></el-input>
form表单添加autocomplete=“off” // 取消所有文本框元素的自动填充
<el-form autocomplete="off"></el-form>
transiton(过渡)详解:
(1)语法
- transition: property duration timing-function delay
- transition属性是个复合属性,她包括以下几个子属性:
- transition-property :规定设置过渡效果的css属性名称
- transition-duration :规定完成过渡效果需要多少秒或毫秒
- transition-timing-function :指定过渡函数,规定速度效果的速度曲线
- transition-delay :指定开始出现的延迟时间
默认值分别为:all 0 ease 0
PS:transition-duration 时长为0,不会产生过渡效果
(2)transition-timing-function属性:
- ease:由快到慢到更慢
- linear:恒速
- ease-in:越来越快
- ease-out:越来越慢
- ease-in-out:先加速后减速