css - translate3d(0,0,0) 时不显示 SVG 图像;规则被应用。预期的?

标签 css svg

在我正在开发的 Cordova 应用程序中,我想强制硬件加速以呈现某些元素。实现此目的的常见方法是使用 translate3d(0,0,0) CSS 规则,as described here .

但是,当我使用它时,SVG 图像不再出现。有趣的是,当我为 translate3d() 使用 0 以外的值时,例如 translate3d(1,1,1),图像再次开始出现。

我不确定这是否是 Webkit 浏览器的错误(Chrome 和 Safari 都证明了这一点),或者对 translate3d() 使用 0 导致 SVG 不再显示。

如有任何见解,我们将不胜感激。

最佳答案

有很多方法可以尝试强制硬件加速,并且它们会根据浏览器和设备而变化。

这里有几种可能的方法:

// translateZ Transform
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0);

// Backface Visibility
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
backface-visibility: hidden;

// Perspective
-webkit-perspective: 1000;
-moz-perspective: 1000;
-ms-perspective: 1000;
perspective: 1000;

// Translate3D transform
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);

您可以在这里阅读更多内容:Increase Your Site’s Performance with Hardware-Accelerated CSS

关于css - translate3d(0,0,0) 时不显示 SVG 图像;规则被应用。预期的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33359673/

相关文章:

css - 在 bootstrap 3 中订购缩略图的问题

html - 使用 css 调整列大小时的怪癖

javascript - 使用 <svg> 将样式导出为 .svg

javascript - 如何使用SVG制作半圆装载机?

css - DIV 之间的空白会破坏布局

javascript - 如何获得与选择器匹配的最近的 parent 或 sibling ?

ios - ionic 3 : Cannot scroll ion-list overflow-y for an iOS-device where ion-items are generated inside ion-list using ngFor

javascript - D3.js ~ 使用 for 循环放置矩形并为其着色

javascript - 如何使用svg g实现可折叠树结构

svg - 传单中的彩色 SVG 图标