html - 如何防止 CSS 过滤器有时导致 HTML 元素重新定位?
问题描述
有时,在应用 CSS 时filter
,HTML 元素会重新定位。
作为一个简单的可重现示例,请执行以下步骤:
- 转到https://www.virustotal.com/gui/
- 单击“选择文件”并选择要扫描的任何本地文件
- 在扫描结果页面中,注入这段几乎毫无意义的 CSS 代码:
vt-ui-shell { filter: hue-rotate(0deg); }
- 单击站点的上传按钮,这是位于视口右上角附近的向上箭头
- 注意网站显示的“通过在下面提交数据...”窗口的位置(您可能需要向下滚动才能看到它)
- 删除步骤 3 中注入的 CSS 代码
- 请注意,“通过在下面提交数据...”窗口的位置发生了变化
为什么会发生这种情况,有什么方法可以防止过滤器这样做?
更新:
我们的朋友 Temani Alf 慷慨地提供了一个指向这个相关问题的链接:
为什么在父级上应用 CSS-Filter 会破坏子级定位?
我认为这可以解释这种现象,但我有兴趣了解当您只能更改 CSS 而不能更改底层 HTML 代码时是否有办法防止这种情况发生。
解决方案
推荐阅读
- r - coef.lme(m4) 中的错误:在加载 nlme 包时找不到函数“coef.lme”
- java - 增加 Java 服务器的堆大小(增加 Go 服务器的 JVM 内存)
- angular - 在测试中覆盖 NGRX 存储选择器似乎得到了 ingored
- java - RecyclerView 未加载
- plugins - Gimp:如何批量调整多个尺寸的一张图像并导出它们?
- node.js - 带有 child_process NodeJS 的 JavaScript 事件源
- c# - 使用我的 WPF GUI 冻结的 Powershell 脚本无法找出原因
- python - AWS Canary Selenium 用户代理字符串
- python - 如何打印一个数组中相对于另一个数组中的值的值
- android - 无法安装 SDK 工具,完成按钮被禁用