- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
CSS 的 mix-blend-mode 似乎在 Android 9 上失败了:
它适用于:
我最初遇到了一个 SVG 元素的问题,但我也能够用一些简单的 div 重现它。
一个非常简单的代码示例: https://codepen.io/walmink/pen/YoJRqa
我尝试运行下面的示例并在运行 Android 8 的 Nexus 5 上获得预期结果(左),但它在运行 Android 9 的 OnePlus 6 手机上失败(右)(see image)。我有其他用户(我的一款游戏使用 mix-blend-mode)在运行 Android 9 的 OnePlus 7 和 Google Pixel 3a XL 上报告了同样的问题。
它在我试过的任何桌面浏览器上似乎也能正常工作。在 Safari 上,它也会与背景混合,除非您添加 isolation: isolate
,但至少混合仍然会发生。
最佳答案
感谢您追踪该 Chrome 问题!我整天都在调试这个,但错过了那个。我在 OnePlus 6t 上。其他人无法在 Pixel 2 上重现,但很高兴听到它实际上正在其他设备上发生。
我有一个解决方法,我很快也会在那个 Chromium 线程中解决这个问题。
选项 1:使用类似 transform: translate3d(0,0,0);
选项 2:在混合元素上,添加一个 will-change
属性,设置为几乎任何值。 will-change: opacity;
例如,就足够了。这种强制重绘似乎足以让混合模式重新启动。
现在,这解决了问题……但会导致另一个问题。如果您必须滚动超过一页长度,混合元素最终将被切断,并且对于页面的其余部分将保持不可见。
此处描述了此行为(或类似行为):
https://bugs.chromium.org/p/chromium/issues/detail?id=798148这一个听起来几乎相同,但被标记为已修复。
https://bugs.chromium.org/p/chromium/issues/detail?id=992398这听起来也很相似,但他们已经确定与层的最大尺寸有关,该层相当大(大约 8000 像素)。而您会发现使用此解决方法的行为更像是 2000 像素,或视口(viewport)高度的大约 200%(难以测试)。
不幸的是,这种切断内容的行为非常一致......我之前提到的 Pixel 2 用户无法重现最初的混合模式问题,是在解决方法后看到这种切断被应用。
虽然您说您正在制作游戏,但希望不会涉及太多滚动?
此外,尽管如此,您可能会发现屏幕混合模式不受所有这些影响,并且在没有任何变通办法的情况下仍然可以工作。
您可以使用这个 https://codepen.io/chasebank/pen/wvwWGxd 进行测试解决方法在 .box
元素中被注释掉了。
祝你好运!
关于android - 将 mix-blend-mode 设置为除 "normal"以外的任何值都会在 Android 9 的 Chrome 中隐藏元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56931027/
我已经坚持了好几天了……很抱歉遇到这样的问题,但是我只是F#本身的初学者。由于关于类型提供程序的讨论很多,所以我决定建立一个类型提供程序并撰写一篇有关它的论文。当我开始时,我不知道什么是类型提供程序。
我正在开发LAN项目唤醒功能,但是我想控制局域网中计算机是否打开。但是我不想使用ICMP或WMI(我的网络上有DC)。那么,对于此问题,是否还有其他选择,例如“套接字连接”,请检查特定端口是否正在使用
我们有一个旧的VB6应用程序,该应用程序使用Crystal Reports XI生成打印报告。我们已经通过经验发现,如果Crystal Reports打印引擎选择了错误版本的 usp10.dll (W
我正在尝试获取有效的 Android 权限列表。我知道 http://developer.android.com/reference/android/Manifest.permission.html
嗨,我是 nginx 的新手,我试图在我的服务器(运行 Ubuntu 4)上设置它,它已经运行了 apache。 所以在我 apt-get install 它之后,我尝试启动 nginx。然后我收到这
如何在VB 6中检查对象的类型-除了'TypeName'之外,是否还有其他方法,因为无法通过'TypeName'进行检查,我希望使用类似QuichWatch窗口的方法。 最佳答案 对于对象变量,请使用
我的 JSP 应用程序中有一个错误。发布后我的 session 被清除: YAHOO.util.Connect.asyncRequest('POST', Url, callback, post
我是一名优秀的程序员,十分优秀!