javascript - ThreeJS 渲染器更改父级大小
问题描述
我试图在表格内显示一个固定的 550 x 500 容器以显示 3D 对象,但由于某种原因,当我调用container.appendChild(renderer.domElement);
我的父容器时将其大小更改为 590 x 501,关于如何解决此行为的任何想法?
HTML:
<table>
<tbody>
<tr>
<td>
<img src="img/obj/cojin1.jpg" class="img-responsive" alt="">
</td>
<td rowspan="3" id="canvas">
</td>
</tr>
<tr>
<td><img src="img/obj/cojin2.jpg" class="img-responsive" alt=""></td>
</tr>
<tr>
<td><img src="img/obj/cojin3.jpg" class="img-responsive" alt=""></td>
</tr>
</tbody>
</table>
JS:
if (WEBGL.isWebGLAvailable() === false) {
document.body.appendChild(WEBGL.getWebGLErrorMessage());
}
var container, stats, controls, containerWidth, containerHeight;
var camera, scene, renderer, light, textureLoader;
init();
//loadfbx();
//animate();
function init() {
container = document.getElementById('canvas');
containerWidth = 550;
containerHeight = 500;
camera = new THREE.PerspectiveCamera(40, containerWidth / containerHeight, 0.1, 100);
camera.position.set(0, 3, 3);
scene = new THREE.Scene();
scene.background = new THREE.Color(0xFFFFFF);
renderer = new THREE.WebGLRenderer();
renderer.setSize(containerWidth, containerHeight, false);
container.appendChild(renderer.domElement);
renderer.render(scene, camera);
}
解决方案
这是由单元格上的填充引起的。您可以通过 css 解决此问题
<td rowspan="3" id="canvas" style="padding: 0;height: 500px;display: block;">
推荐阅读
- python - 使用opencv定义要提取的颜色
- wordpress - Wordpress 联系表格 - 将表格发送到群组电子邮件
- javascript - 在 Jest 中模拟单个依赖函数
- c++ - 如何在 if 语句条件 C++ 中使用字符串变量?
- android - 在 onOptionsItemSelected 中获取特定的 MenuItem 并将其设置为 SHOW_AS_ACTION_NEVER
- hashicorp-vault - 如何在保管库中生成签名 ID 令牌?
- angular - 允许访问 assets/files 子文件夹中的 pdf 文件,并使用 htaccess angular redirect all to index.html
- python-3.x - 导入我的包时出现 ModuleNotFoundError,但单独运行时不会
- python - Python - 通过 c_rating 创建平均估计工资条形图,但按性别执行 facet_wrap
- r - R中的二次规划求解函数