css – 如何在Safari中的WebKit 3D变换后强制重新渲染

我使用CSS 3D变换缩放div,例如:
-webkit-transform: scale3d(2,2,1);

缩放本身在任何WebKit浏览器中工作正常。但是,当在Safari(移动或Windows)上使用时,div的内容不会重新呈现。结果是缩放后内容变得模糊。

此效果仅在使用3D变换时发生。一切工作正常使用时

-webkit-transform:scale(2);.

为了利用iPhone / iPad上的硬件加速,使用3D转换是很好的。

有人知道如何告诉Safari重新渲染一个div与新的比例?

解决方法

文本模糊的原因是因为Webkit将文本视为图像,我想这是硬件加速的代价。我假设你使用过渡或动画关键帧在你的ui,否则性能增益可以忽略不计,你应该切换到非3d变换。

您可以:

•为transitionend添加事件监听器,然后替换标准变换的3d变换,例如…

element.addEventListener("transitionend",function() {
  element.style.webkitTransform = 'scale(2,2)'
},false);

•由于Webkit将内容作为图像处理,因此最好开始大和缩小。所以,你的css写在你的“结束状态”,并缩小为正常状态…

#div {
  width: 200px; /*double of what you really need*/
  height: 200px; /*double of what you really need*/
  webkit-transform: scale3d(0.5,0.5,1);
}

 #div:hover {
  webkit-transform: scale3d(1,1,1);
}

你会得到一个松脆的文本悬停。我在这里做了一个演示(在iOS上也工作):

http://duopixel.com/stack/scale.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


css的bordercolor属性怎么使用
CSS中contain属性的作用和语法
深入学习响应式布局框架:适合初学者到专家的详尽指南
CSS3选择器优先级规则
margin-top用法
选择最适合您的响应式布局框架:综合评估不同工具
使用CSS中的content属性
设计一个无缝适应不同屏幕尺寸的网站
如何处理CSS样式的层叠问题
探究最佳响应式布局框架:竞争激烈!
学习基本数据类型的快速入门:掌握常用操作技巧
CSS中float布局介绍
一同探讨响应式布局的益处
掌握响应式设计的益处,让网页在不同设备上展现完美适配!
可能导致CSS加载失败的原因有哪些?
各种基本数据类型的全面操作指南
CSS3选择器是否用于设计界面结构?
响应式布局优化移动设备适配的策略与实用技巧
伪元素怎么清除浮动
利用CSS响应式布局创作独特网页设计的设计技巧