javascript - CSS3 矩阵3d 变换
问题描述
我正在尝试制作一个关于地毯的模型。我正在使用 JavaScript 来计算参数。这是我的 JavaScript 代码:
var mainImageHeight = $(".mockup-main-image").height();
var mainImageWidth = $(".mockup-main-image").width();
$(".mockup-carpet").css({
"width" : (210*mainImageHeight/513) + "px", /*Carpet Width*/
"height" : (400*mainImageWidth/910) + "px", /*Carpet Height*/
"left" : (412.61796875000005 * mainImageWidth / 910) + "px",
"top" : (265.07500000000005 * mainImageHeight / 513) + "px",
"transform" : "matrix3d(-0.06, "+(0.5 * mainImageHeight/513)+", 0.3, -0.0025, "+ (mainImageWidth/910*-2.55) +", 0, 1.1, 0, 1, 0, 2, 0, 0, 62, 0, "+(1.9*mainImageWidth/910)+")",
});
如您所见,我正在尝试根据mainImageWidth
and来计算它mainImageHeight
,因为它应该是响应式的。整数值是比率。
一切都很好,除了垂直 Y 位置。我正在更改最后的第三个参数,现在是 62。当 mainImageHeight 为 513px 时,此参数必须为 62,但当 mainImageHeight 为 720px 时,它必须为 173 为真正的模型位置。但我不知道我该如何计算。我无法通过正比或反比来实现。
这是jsfiddle
解决方案
推荐阅读
- javascript - 在 JavaScript/Node.js 中间隔发送内容
- ruby - 将字符串转换为日期对象 Ruby
- unity3d - Unity:无法将类转换为 dex 格式插件:Unity IAP 1.16 Facebook SDK 7.13.0
- java - 如何以最有效的方式使用数据更新自定义 Javafx
- python - 使用 Pandas 读取大型 CSV 文件会冻结计算机
- python - ValueError:检查目标时出错:预期 conv2d_3 有 4 个维度,但得到了形状为 (66256、58) 的数组
- matlab - 如何修改自动编码器对象的只读输出?
- reactjs - React Router - 如何路由到循环中的特定路径
- python - jinja2 包含变量的文件
- c# - Bash 命令未通过 .net 核心进程执行