浏览器
双核浏览器
游戏浏览器
高速浏览器
视频浏览器
IE浏览器
浏览器周边
手机浏览器
安卓游戏
音乐舞蹈
养成游戏
儿童游戏
仙侠手游
角色扮演
策略塔防
休闲益智
动作冒险
飞行射击
模拟经营
体育运动
赛车竞速
网络游戏
安卓软件
资讯阅读
生活服务
影音播放
购物理财
效率办公
趣味娱乐
交通出行
学习教育
摄影图像
在线音乐
系统工具
网络购物
聊天工具
安全杀毒
图片编辑
新闻资讯
软件资讯
游戏资讯
手机教程
手游攻略
游戏攻略
软件教程
IE专区
安卓专题
文章合集
电脑软件专题
安全软件
杀毒软件
系统安全
加密解密
防火墙
远程控制
木马查杀
影音软件
网络电视
视频播放
音乐播放
视频制作
音频编辑
录音录像
教育学习
外语学习
教育管理
早教启蒙
在线课堂
成人教育
资格考试
聊天社交
即时通讯
视频聊天
在线交友
变声器
表情包
办公软件
线上会议
文档管理
行业管理
考勤打卡
应用工具
输入法
下载工具
时钟日历
记事本
文件管理
计算器
编程开发
编程工具
JAVA相关
加壳脱壳
编程控件
数据库
网页源码
软件开发
补丁制作
系统美化
桌面制作
壁纸大全
系统主题
屏幕保护
桌面辅助
系统软件
系统优化
备份还原
系统检测
U盘工具
磁盘工具
驱动补丁
图文处理
图片素材
图像处理
图片制作
图片压缩
电子相册
抓图工具
其他软件
电子书籍
模拟器
辅助工具
交通出行
手机管理
其他工具
素材下载
字体素材
PPT素材
专区
文章合集
软件
游戏
浏览器
安卓专题
软件
游戏
浏览器
IEfans/ 新闻资讯/ 软件教程 /谷歌浏览器表单自动填充时如何去除自动添加的默认样式

谷歌浏览器表单自动填充时如何去除自动添加的默认样式

2023-07-17 10:00:02 编辑:匿名

  一、发现该问题的原因-是在写账号登录页面时,input表单添加了背景图片,当自动填充,搓搓的一坨淡黄色背景出来。

  这个原因是我草率的直接设置在input元素里面,结果问题就来了。所以如果把这个图标放在input表单外面,就不会出现这个问题。

  二、表单自动填充会添加浏览器默认样式怎么处理和避免

  第二张图,就是表单自动填充后,chrome会默认给自动填充的input表单加上input:-webkit-autofill私有属性

  input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill  {

  background-color: rgb(250, 255, 189); /* #FAFFBD; */

  background-image: none;

  color: rgb(0, 0, 0);

  }

  看到这里添加上这段代码,我会想到使用样式覆盖的方法解决。我完全可以使用!important去提升优先级。但是有个问题,加!important不能覆盖原有的背景、字体颜色,除了chrome默认定义background-color,background-images,color不能使用

  !important提升优先级,其他属性均可使用它来提升优先级。

  input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill  {

  background-color: #FFFFFF;

  background-image: none;

  color: #333;

  /* -webkit-text-fill-color: red; //这个私有属性是有效的 */

  }

  input:-webkit-autofill:hover {

  /* style code */

  }

  input:-webkit-autofill:focus {

  /* style code */

  }

  思路有两个,1、通过打补丁,修复bug。2、关闭浏览器自带填充表单功能

  情景一:input文本框是纯色背景的

  解决办法:

  input:-webkit-autofill {

  -webkit-box-shadow: 0 0 0px 1000px white inset;

  -webkit-text-fill-color: #333;

  }

  情景二:input文本框是使用图片背景的

  解决办法:

  if (navigator.userAgent.toLowerCase().indexOf(chrome) = 0)

  {

  var _interval = window.setInterval(function () {

  var autofills = $('input:-webkit-autofill');

  if (autofills.length  0) {

  window.clearInterval(_interval); // 停止轮询

  autofills.each(function() {

  var clone = $(this).clone(true, true);

  $(this).after(clone).remove();

  });

  }

  }, 20);

  }

  先判断是否是chrome,如果是,则遍历input:-webkit-autofill元素,再通过取值,附加,移除等操作来实现。  这个方法没效果!!

  所以最后我是不使用图标作为input表单的背景图片,而是多写一个标签,把图标拿到表单外面来。

  思路二: 关闭浏览器自带填充表单功能

  设置表单属性 autocomplete=off/on 关闭自动填充表单,自己实现记住密码

  

   form autocomplete=off method=.. action=..

   !-- 或对单一元素设置 --

   input type=text name=textboxname autocomplete=off

  如图:未自动填充前,此时这个邮箱的小图标是inpu表单的背景图片

谷歌浏览器表单自动填充时如何去除自动添加的默认样式 三联

  如图:填充后,邮箱小图标被浏览器默认样式覆盖掉

  最后,

  如果不想多去处理chrome浏览器下表单自动填充出现的添加默认样式,那就把这个小小的图标放到表单外面吧,我这个因为是input框

  只有border-bottom,如果这个input框有边框,那么可能需要使用一个div的边框的来假装成input框的边框,然后input框弄成是没有边框的。

  像这样的input框

相关推荐

软件更新