【问题标题】:Do images with opacity 0 get rendered?不透明度为 0 的图像会被渲染吗?
【发布时间】:2018-09-18 21:47:47
【问题描述】:

我想知道不透明度为 0 的图像是否会被您的手机/网络浏览器渲染。 我有一个可以快速创建大量图像的应用程序 当我使用过渡并将我的不透明度设置为 0.5 时,它会滞后,而当我使用不透明度 0 时,它不会滞后。 所以我假设完全不渲染不透明度为 0 的图像。

javascript代码:

     function transitionImage(trans, x, y) {   //trans is an image            
          image.style.transition = "transform 1000ms ease-in, opacity 500ms ease-in 500ms";
          image.style.transform="translate("+x+"px, "+y+"px)";
          image.style.opacity="0";  //or 0.5
     }

过渡后我是否需要删除不透明度为 0 的图像,还是没有必要?

【问题讨论】:

    标签: css rendering transition opacity phonegap


    【解决方案1】:

    更新

    完整答案请见Callback when CSS3 transition finishes

    现代网络浏览器使用 GPU 来渲染网页的某些部分,尤其是带有动画的网页。我认为您的理论是正确的,因为当不透明度设置为 0 时,您的 GPU 将无法渲染任何内容。

    我认为更好的方法是在属性不显示时设置display:none;,而不是opacity:0。

    【讨论】:

    • 问题是我想让图像淡出,所以我不能只设置 display:none。过渡调用后有没有办法说 display:none?
    • 您能否更新您的问题以显示更多代码。您是否使用 Javascript 触发转换?看看daneden.github.io/animate.css
    • 是的,它是 javascript,那么有没有办法在 javascript 中完成转换后调用 display:none ?我应该使用计时器吗?
    • 更新了我的答案,见stackoverflow.com/questions/9255279/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 2011-04-21
    • 1970-01-01
    • 2014-01-14
    相关资源
    最近更新 更多