大佬教程收集整理的这篇文章主要介绍了translateZ()vs scale()中的CSS不良渲染,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
.text1 { width: 200px; height: 22px; position: absolute; top: 40%; left: 0; transform-origin: 50% 50%; transform: scale(2); /* here */ color: red; text-align: center; font-size: 22px; } .text2 { width: 200px; height: 22px; position: absolute; top: 60%; left: 0; transform-origin: 50% 50%; transform: translateZ(400pX); /* here */ text-align: center; font-size: 22px; } .perspective { width: 200px; height: 200px; perspective: 800px; transform-style: preserve-3d; }
<div class="perspective"> <div class="text1">Text</div> <div class="text2">Text</div> </div>
在Z轴上移动文本时,是否有办法强化更好的渲染?
另一方面,随着规模的转变是二维转型,
浏览器将元素视为向量,并且不会发生模糊.
看看一旦我们踢入3d就会发生什么变化,没有实际设置任何translateZ值:
.text1 { width: 200px; height: 22px; position: absolute; top: 40%; left: 0; transform-origin: 50% 50%; transform: scale(2); /* here */ color: red; text-align: center; font-size: 22px; } .text1a { width: 200px; height: 22px; position: absolute; top: 40%; left: 50%; transform-origin: 50% 50%; transform: translateZ(0) scale(2); /* here */ color: blue; text-align: center; font-size: 22px; } .text2 { width: 200px; height: 22px; position: absolute; top: 60%; left: 0; transform-origin: 50% 50%; transform: translateZ(400pX); /* here */ text-align: center; font-size: 22px; } .perspective { width: 200px; height: 200px; perspective: 800px; transform-style: preserve-3d; }
<div class="perspective"> <div class="text1">Text</div> <div class="text1a">Text</div> <div class="text2">Text</div> </div>
目前唯一的解决方法是通过JS检查样式表,并用transform:scale覆盖translateZ
var styles = document.styleSheets; //patterns var perspPat = /perspective\s*?:\s*?(\d+)/; var transZPat = /translateZ\(\s*?(\d+)/; var perspective; var translateZ = []; [].slice.call(styles).forEach(function (X) { [].slice.call(x.rules).forEach(function (rulE) { if (perspPat.test(rule.cssText)) { perspective = perspPat.exec(rule.cssText)[1] }; if (transZPat.test(rule.cssText)) { translateZ.push([ rule.SELEctorText,transZPat.exec(rule.cssText)[1]]); } }); }) translateZ.forEach(function (X) { document.querySELEctor(x[0]).style.transform = 'scale(' + perspective / x[1] + ')'; })
正如你所看到的,即使它的工作,需要很多的优化.(我不会认为它的生产在当前状态下准备就绪).
以上是大佬教程为你收集整理的translateZ()vs scale()中的CSS不良渲染全部内容,希望文章能够帮你解决translateZ()vs scale()中的CSS不良渲染所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。