【css】如何修改input选中历史选项后,自动填充的蓝色背景色

自动填充前:
自动填充后:

解决办法

方法一:设置背景透明(通过拉长过渡时间,和延迟过渡开始时间,掩盖input自动填充背景颜色)

PS:注意,这个过渡效果会在你的delay time + transition time的时间长度后,完成过渡效果,也就是说

如下例:透明色仅能支持到1510s,就会出现蓝色背景,这个值可以设置成24小时,避免用户一直在这个页面不动,但是性能较差,不是很推荐

css 复制代码
  // 通过拉长过渡时间,和延迟过渡开始时间,掩盖input自动填充背景颜色
  input:-internal-autofill-previewed,
  input:-internal-autofill-selected {
    transition: background-color 1500s ease-out 10s;
  }
方法二:
react ant-design框架

仅提供autocomplete="off"属性及属性值off,即可禁用历史下拉列表,避免出现自动填充色

css 复制代码
<Input placeholder="请输入账号" autocomplete="off"></Input>
vue element-ui框架

css设置背景色

css 复制代码
input:-webkit-autofill { box-shadow: 0 0 0px 1000px white inset !important;}

input标签添加autocomplete="off" // 指定某个文本框取消自动填充

css 复制代码
<el-input type="text" v-model="name"  placeholder="请输入账号" autocomplete="off" ></el-input>

form表单添加autocomplete="off" // 取消所有文本框元素的自动填充

css 复制代码
<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:先加速后减速
相关推荐
frjc7 分钟前
Node.js 与 npm 极简安装教程
前端·npm·node.js
IMPYLH8 分钟前
HTML 的 <main> 元素
前端·html
深念Y10 分钟前
微服务抽取路线图:从胖单体到 ARM 集群
前端·arm开发·数据库·后端·微服务·云原生·架构
雪芽蓝域zzs27 分钟前
Vue3 + Vite本地模拟数据(读取 JSON 数据)
前端
亿元程序员29 分钟前
还有高手?用Shader让图片中的3D圆环转起来!
前端
灯澜忆梦31 分钟前
【基于GO的Web开发14】gin请求重定向
前端·后端·golang·gin
qq_4523962332 分钟前
第十一篇:《前端性能优化体系:从加载到交互的全链路》
前端·性能优化·交互
Mh35 分钟前
听说我兄弟喜欢跑车,所以必须安排上
前端·javascript·vue.js
zttbee36 分钟前
vue学习(白话功能版)
前端·vue.js·学习·前端框架
qq_4260039637 分钟前
多语言新增语种全量测试策略
前端·javascript·python·pycharm·自动化