我一直看到有关CSS3 transform:scale3D(scalar, scalar, 1)
我们有一个<iframe>
,其中包含像素完美的艺术品,由许多元素(文字,矩形,视频等)组成,我的任务是缩放<iframe>
适合全屏的内容,而不是只是设计的320x480或其他
首先,触摸事件根本不会传播。其次,当用户按住<iframe>
时,他们可以看到以前错误位置的元素的DOM轮廓,大小不正确(在<iframe>
缩放以适应屏幕之前)
蓝色区域应该是整个屏幕,而不是原始位置
最重要的是,有时缩放会引入随机水平/垂直线,UIWebView决定不重新绘制
我尝试使用css zoom:
我理解它有点替代<meta>
标记视口缩放,但我仍然看到随机未上漆的线条。我不确定我是否尝试使用硬件加速(在z / 3d空间中转换)但我确信我做了,与常规transform:scale3d
方法相同
我还尝试抓取配置对象,该对象具有x
,y
,width
,height
等属性,但似乎需要对某些属性进行舍入其他人没有(例如文本字体大小和字母间距,边框宽度等)。光栅化导致头痛,我似乎无法获得像素完美,缩放<iframe>
我不确定哪些元素支持十进制px
CSS,所以我正在考虑将所有内容转换为{{ 1}}
我还没有使用实际的em
标记,因为它无法动态追加..在呈现DOM之前需要在HTML上。我没有使用<meta>
的另一个原因是因为我需要在编写<meta>
属性之前知道视口大小(如果有人确认此解决方案有效,我可以从本地对应方查询)
以前有人遇到过这个问题吗?如果标量可能是1.333333,是否有可能获得像素完美的缩放表示?我知道Apple正在用可嵌入的Safari实现取代UIWebView(移动网络适用于我的用例,而不是原生iOS),但与此同时,iOS有什么希望吗?链接高度赞赏!提前谢谢..
答案 0 :(得分:0)
我的同事找到了答案!
您无法从外部DOM扩展<iframe>
,您必须postMessage()
加入<iframe>
并使用document.body.style.webkitTransform = "scale(1337)"
希望这有助于其他有需要的人!