将鼠标悬停在 Chrome 字段建议上会缩小输入

2023-11-26

我正在使用最新版本的 Chrome (74.0.3729.169),并注意到一些有点令人沮丧/有趣的事情。

在下面的示例中,开始输入您之前使用过的电子邮件地址。 Chrome 的建议出现后,将鼠标悬停在其中一项建议上。请注意输入的缩减程度如何。

input { padding: 5px; border: 1px solid #ccc; }
<input id="email" name="email" type="text" placeholder="Email">

如果这不能重新创建该行为,我深表歉意,但是我现在已经能够在多台计算机上使用此代码片段重新创建它,所以我相当有信心这应该可行。

另外(这里稍微深入一下 Meta)在 StackOverflow 自己的登录屏幕上有一个相当戏剧性的例子,其中整个表单因此缩小。

比较下面两幅图像的宽度。或者,在第二张图像中,将“建议”的宽度与其对应的输入进行比较。

Pre-Hover

On Hover

通过检查输入本身,我没有看到任何可以解释这种行为的新样式。似乎与以下无关padding或者,作为输入而无需padding仍然表现出这种行为。

我的问题有两个:为什么将鼠标悬停在建议上会导致输入缩小, and, 有没有一种方法/解决方法可以防止这种情况,以外固定宽度或完全禁用建议?

(我认为这两种解决方法都是有条件的。在某些情况下,您可能不想出于样式目的指定输入宽度,并且禁用建议似乎过多并且对用户体验有害)

或者也许是某个地方的 Chromium 错误票(我搜索没有成功 - 谷歌搜索与 Chrome 的自动填充/自动完成相关的任何内容都是一堆与安全性无关的文章)?


您所面临的问题与:-webkit-autofill伪类,通过自动完成功能将一些默认样式应用于输入。

当元素的值由浏览器自动填充时, :-webkit-autofill CSS 伪类会匹配。

不幸的是,我无法找到这些样式的确切定义位置,但这里有一个示例来确认这一点。如果您尝试使用相同的宽度值,您将避免收缩效果:

:-webkit-autofill {
  width: 173px;
}
<input id="email" name="email" type="text" placeholder="Email">

在上面的链接中您还可以阅读:

注意:许多浏览器的用户代理样式表使用!important在他们的:-webkit-autofill样式声明,使它们无法被网页覆盖,而无需诉诸 JavaScript hack。

所以即使有!important您将无法覆盖某些样式:

:-webkit-autofill {
  width: 173px;
  background:red!important; /* will not work*/
  border:2px solid blue;
  margin-left:150px;
}
<input id="email" name="email" type="text" placeholder="Email">

对于宽度问题,我想唯一的方法是像我尝试过的那样定义显式宽度auto, initial, unset等,但它们不工作。

如果你无法设置宽度而你想要默认的宽度,你可以考虑用JS来做到这一点:

document.querySelector('#email').style.width=document.querySelector('#email').offsetWidth+"px";
<input id="email" name="email" type="text" placeholder="Email">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将鼠标悬停在 Chrome 字段建议上会缩小输入 的相关文章

  • 为什么在 HTML 中使用 onClick() 是一种不好的做法?

    我多次听说使用 JavaScript 事件 例如onClick 在 HTML 中是一种不好的做法 因为它不利于语义 我想知道以下代码有什么缺点以及如何修复 a href link a 你可能正在谈论不引人注目的 JavaScript htt
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • 将样式添加到 mat-autocomplete 的 mat-option

    我有这个 HTML代码在这里 https stackblitz com edit angular mat autocomplete with selected value vx1uqg file src 2Fapp 2Fautocomple
  • CSS 的波浪形状

    我正在尝试使用 CSS 重新创建此图像 我不需要重复它 这就是我开始的 但它只有一条直线 wave position absolute height 70px width 600px background e0efe3 div div 我认
  • Google Maps API 下拉列表,缩放至标记

    我正在使用 Google Maps API v3 我有一个带有一些标记的简单地图 我还有一个下拉列表 我需要最少的代码来完成这项工作 我想在下拉列表中选择一个标记 并将选定的标记平移到它 我已经尝试了一切并在网上查看 我发现事情很接近 但到
  • 使用 实现可访问性的更好做法是什么?

    我有一个下载链接 但我找不到任何良好的可访问解决方案来说明如何处理这种情况 我遵循一个共同的经验法则 按钮做事 链接去地方 我的情况是 我有一个触发文档下载的按钮 同一页面 我相信这应该是一个具有按钮角色的锚点 因为它明确不触发重定向或导航
  • Flexbox 不适用于 iPad 和 Safari [重复]

    这个问题在这里已经有答案了 我在网站上使用 Flexbox 但它在 iPad Air iPad 3 和 Safari PC 上崩溃 设计和代码与此 codepen 类似 http codepen io anon pen xwJzEg htt
  • 在 javascript/jquery 中将光标更改为等待

    当调用函数时 如何让光标更改为此加载图标以及如何将其更改回 javascript jquery 中的普通光标 在你的 jQuery 中使用 body css cursor progress 然后又恢复正常 body css cursor d
  • CSS 中的像素与像素密度

    我对 HTML 和 CSS 非常陌生 我突然想到 当决定某个东西是 5px 时 比如说 由于像素的物理尺寸取决于密度 所以 5px 在 100 ppi 的屏幕上看起来肯定比在 300 ppi 的屏幕上看起来更大ppi 这是正确的吗 如果是
  • 在html表格的每一行添加点击功能

    我最近创建了一个函数 它根据用户在网站中的输入进行一些复杂的名称匹配 并将结果作为表格格式的 html 文件返回 我的问题是如何在每一行添加点击功能 df get cust info returns a pandas dataframe d
  • 每 3 秒重复一次动画

    我正在使用 WOW js 和 animate css 现在我正在将 CSS 运行到 Infinite 我想知道如何让我的课程运行 3 秒停止并再次开始到无限 My html img src images fork png class for
  • 删除数据表列中的额外填充

    你好 我创建了 JQuery DataTables 如下所示 所以我的问题是如何删除 图片 列中过多的填充 这就是我初始化表的方式 violators tbl DataTable aoColumnDefs bSortable false a
  • 在 iPhone 3GS 与 iPhone 4 上为 Mobile Safari 嵌入 HTML5 视频

    我在服务器上的 mp4 文件中有 H 264 AAC 编码的视频 mime 类型的视频 mp4 添加到 Web 服务器 IIS 7 并且我有一个带有视频标签的页面
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 如何指定网站的语言? (HTML?)

    如何指定页面采用某种语言以便搜索引擎可以理解 这是我放在顶部的元标记吗 如果是 您知道大多数搜索引擎是否使用它来确定语言吗 我已将一页英文内容转换为几种不同的语言 并希望将该信息包含在 html 中 让搜索引擎知道他们正在处理哪种语言 快速
  • 如何将背景图像仅应用于一个反应页面而不是整个应用程序?

    注册页面示例 register background image linear gradient to right ff5722 0 ff9800 100 margin top 150px important div div div div
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 后台脚本 chrome.tabs 在 chrome 扩展中未定义?

    我试过这个 背景 js chrome browserAction onClicked addListener function activeTab chrome tabs query active true currentWindow tr
  • 如何在 AngularJS 循环内使用标签

    所以我在里面ng repeat像这样 li li

随机推荐

  • Angular 6 HttpClient 返回类的实例

    在引入 Angular 的新 HttpClient 之前 我们可以使用以下方法验证从 http api 调用返回的对象instanceof关键词 他们不再可以使用 HttpClient 模块 我正在尝试一些简单的方法 但类型检查每次都返回
  • 动态 CMS,如 ruby​​ on Rails 中的路线

    我想创建一个类似 CMS 的网站 用户从一些通用页面开始 即 homepage about contact etc 并从那里可以动态添加子页面 例如 homepage articles article1 something 其他的东西 ar
  • SDK 中的 Android 电池

    有没有办法从Android SDK获取电池信息 比如电池剩余寿命等等 我无法通过文档找到它 这是一个简单的示例 可以让您了解电池的使用量 电池电压及其温度 将以下代码粘贴到活动中 Override public void onCreate
  • 在 Sympy 中创建形式线性函数

    我在 Sympy 中有一个表达式 比如 M n x n 我会 f 说 就像创建一个正式的线性函数 并将其应用到我的表达式中 以便在简化后得到 f M f n f x n 是否可以告诉 sympy 诸如线性之类的属性已得到验证 一种非常巧妙的
  • Joomla 3.X - 从标题中删除工具提示脚本?

    我正在尝试从自定义 joomla 模板标头中删除不需要的脚本 我已成功删除除此之外的所有内容 我已经搜索了几个小时 并尝试了很多方法来将其删除 但我似乎无法摆脱它 以下是我删除不需要的其他脚本的方法 对于遇到此问题的其他人 unset fr
  • 用 C/C++ 编写的语法突出显示库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在寻找一个免费的 用于商业用途 库 用于用 c c 编写的语法着色 那里有吗 我不确定您是否正在寻找为现有控件或内置文本着色的控件着色的东西 如果您正在寻找后者 您可以查看 Sc
  • Winforms - 如何更改 ListView 控件中行的颜色?

    使用 C Winforms 3 5 是否可以将行颜色设置为在列表视图中自动交替 或者每次将新行添加到列表视图时是否需要手动设置行颜色 基于一个MSDN文章手动方法如下所示 alternate row color if i 2 0 lvi B
  • 如何在“宽高比”模式下将 UIImageView 裁剪为新的 UIImage?

    我想通过裁剪 UIImageView 内的图像来创建一个新的 UIImage 例如 在上图中 我想要一个绿色轮廓区域的新 UIImage 我找到了执行此操作的代码 通常它看起来像这样 作为 UIImage 类别 UIImage croppe
  • 智能 gwt 教程和指导 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我是 smart gwt 的新手 我需要一些帮助 请帮助提供一些好的 smart gwt 教程以及一些我可以购买来学习这一点的好书 我做了一些搜索
  • 当网络完全收敛时停止 Keras 训练

    如何配置 Keras 停止训练直到收敛或损失为 0 时 我故意想要过度拟合它 我不想设置纪元数 我只是想让它在收敛时停止 Use an 提前停车打回来 您可以自由选择要观察的损失 指标以及何时停止 通常 您会查看 验证损失 val loss
  • 清空关系数据库架构

    我有一个已备份的数据库 现在我试图删除原始数据库中的所有内容并将其恢复到空状态 因为它是一个关系数据库 所以它有关键的约束 我可以使用任何工具吗 最简单的方法可能是禁用外键检查 然后截断表 由于外键已禁用 因此截断表的顺序并不重要 set
  • App Engine:传输密码并将其安全存储在 Google App Engine 中的最佳做法是什么?

    我想知道从网络表单传输密码并将其存储在数据存储中的最先进技术是什么 最近的很多帖子都指出bcrypt但是 没有纯 Python 实现 而这是 App Engine 的要求 有什么建议么 最佳实践 将 Users API 与 Google 帐
  • 恢复 .orig 文件的简单方法?

    我刚走一不小心就跑了hg revert Mercurial 是否附带一个工具来移动所有 orig文件放回原处 不 如果你在 bash 中 你可以随时执行以下操作 for thefile in orig do cp v thefile the
  • 在 WordPress 中集成 Bootstrap 轮播,无需插件

    我已将 bootstrap carousel 集成到我的 WordPress 中 幻灯片将从标记为 精选 的帖子中获取 因此只会显示 5 个最近输入的 精选 帖子 下面是我的代码 div class carousel slide bs do
  • 如何将之前的路线作为 Angular 中的路径?

    如何将之前的路线作为 Angular 中的路径 我尝试使用解决方案这个链接 但它不会在首页加载时执行 constructor router Router router events pipe filter event gt event in
  • 记忆栅栏 - 需要帮助才能理解

    我正在读 Paul E McKenney 的 记忆障碍 http www rdrop com users paulmck scalability paper whymb 2010 07 23a pdf一切都解释得很详细 当我看到一切都清楚的
  • Javascript正则表达式在每第三个和第四个字符后添加破折号

    以下正则表达式 x toString replace B d 3 d g 在每个后面添加破折号3rd如此输入的字符123456789变成123 456 789 我正在尝试使用此正则表达式来格式化电话号码 问题出现在第 10 个字符上 于是进
  • SVM 的标准化特征值

    我一直在尝试一些 SVM 实现 我想知道 标准化特征值以适应一个范围的最佳方法是什么 从0到1 假设我有 3 个特征 其值范围为 3 5 0 02 0 05 10 15 如何将所有这些值转换为 0 1 范围 如果在训练期间 我将遇到的特征号
  • Rails 5 模型对象未显示所有 Devise 属性

    我正在使用 Rails 5 API 和设备 我有一个User模型 架构看起来像这样 create table users force cascade do t t string email default null false t stri
  • 将鼠标悬停在 Chrome 字段建议上会缩小输入

    我正在使用最新版本的 Chrome 74 0 3729 169 并注意到一些有点令人沮丧 有趣的事情 在下面的示例中 开始输入您之前使用过的电子邮件地址 Chrome 的建议出现后 将鼠标悬停在其中一项建议上 请注意输入的缩减程度如何 in