html - -webkit-autofill 在 Chrome for IOS 中不起作用

标签 html ios css google-chrome autofill

-webkit-autofill 伪类在桌面 Chrome 中工作正常,但在移动 Chrome (IOS) 中不起作用

我有一个自定义 float 占位符框架,我希望它支持 chrome 自动完成(在页面加载或从对话框中填充表单)

所以我添加了这段代码:

 #{$all-text-inputs} {
      &:-webkit-autofill + #{$this}-placeholder {
        left: 0;
        right: 0 ;
        transform: translateY(-34px);
        @include text(big, $lh: 1.3em, $fw: fw(regular));
        opacity: 1;
      }
  }

这在 Chrome 桌面版中按预期工作:-webkit-autofill 触发并且占位符转到顶部

但似乎这个伪类在 Chrome Mobile (IOS) 中不起作用

输入结构:

<div class="input input-with-float-placeholder">
 <div class="input-inner">
  <input type="email">
  <span class="input-placeholder">Username</span>
 </div>
</div>

最佳答案

嗯。这是一个有趣的问题,因为 Chrome (Blink) 支持此 webkit 功能,而其他引擎不支持。

除非您仅针对 Chrome(您可能确实如此),否则最好选择其他方向。 :-webkit-autofilll 不属于任何标准轨道,也不属于任何规范。值得思考的事情。正如您的问题所指出的,您肯定会在不同的平台上得到截然不同的结果。

此外,iOS 上的移动 Chrome 似乎使用 iOS 的 WKWebView**——它不支持这种非标准的 webkit 功能。我的理解是 WKWebView 仅支持 iOS Safari 可用的功能。 (虽然 WKWebView API 的可用性对于 iOS 上的第三方浏览器来说是一个重大进步,但它仍然!= Chrome 的 Blink 渲染引擎。)

** 我认为过去几年这种情况没有改变,而且您的经验表明情况也没有改变。

参见:

  1. Difference between Chrome for iOS and Chrome for Android
  2. https://developer.mozilla.org/en-US/docs/Web/CSS/:-webkit-autofill

关于html - -webkit-autofill 在 Chrome for IOS 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55712632/

相关文章:

ios - 时间选择器显示错误的时间 iphone sdk

javascript - 使用 jQuery UI 将相对定位的图像滑入/滑出

css - 歧义匹配,找到 2 个匹配 css 的元素 - Capybara

javascript - 如何设置光标: hand for jquery data table

javascript - 如何让弹出窗口永远在最上面

javascript - 我可以修改此 JavaScript 以从 Div 打印图像吗?

ios - 通过低功耗蓝牙打开应用程序(iPhone)

ios - 用 Swift 编写 Cordova/Ionic 插件

php - 如何列出目录的所有内容?

html - 名称为 ='' 的无效表单控件不可聚焦。没有任何必需或隐藏的输入