我正在使用dat.gui,并且希望将其位置放在与顶部右侧不同的位置,最好是在覆盖three.js画布的顶部,这可以通过命令完成,还是有一些css可以达到效果?
我正在使用dat.gui,并且希望将其位置放在与顶部右侧不同的位置,最好是在覆盖three.js画布的顶部,这可以通过命令完成,还是有一些css可以达到效果?
你需要一些JavaScript和CSS才能做到这一点。
GUI构造函数可以传递参数对象。您可以告诉控件不要自动放置。您还可以附加元素ID以使样式更易于处理。
var gui = new dat.GUI( { autoPlace: false } );
gui.domElement.id = 'gui';
然后用以下CSS代码来定位:
And then the CSS to place it can be something like this:
#gui { position: absolute; top: 2px; left: 2px }
被采纳的答案回答了我的问题,但并不完全是我解决问题所想要的,因为gui会随着我在页面上向上和向下滚动而滚动。我没有为gui domElement设置ID,而是将该元素附加到我更好地控制的现有元素中。
css:
.moveGUI{
position: absolute;
top: 13.1em;
right: -1em;
}
JS:
// Create GUI
gui = new dat.GUI( { autoPlace: false } );
{
// create fill and open folders
}
var customContainer = $('.moveGUI').append($(gui.domElement));
HTML:
<div class = 'moveGUI'>
</div>
覆盖CSS:
.dg.a { margin-right:60px !important; }
就我个人而言,我喜欢使用:
function datgui(){
let gui = new dat.GUI({
width : 300
});