Ich habe ein Problem mit dem Leerzeichen eines THREE.js-Canvas, das ich in ein jQuery-Modal-Fenster eingefügt habe.Need for Three.js-Canvas, das die gesamte Breite eines jQuery-modalen Fensters einnimmt
Ich habe eine erste Version meines Codes mit THREE.js Leinwand, die alle vollen Fenster (keine div verwendet, nur in Körper). Hier ist eine Erfassung dieser Version im Browser-Fenstern zu sehen:
Nun würde Ich mag all diese Leinwand in ein jQuery modalen Fenster. Hier ist eine Erfassung von dem, was ich (auch mit Firefox Inspektoren):
Wie Sie auf dieser zweiten Version sehen können, die angezeigte Leinwand ist nicht integriert in alle modale Fensterbreite und I don‘ Ich verstehe warum (der blaue Bereich entspricht der Leinwand THREE.js). Diese Leinwand wird mit dem folgenden Code erstellt:
// Main container
var popID = 'mainWindow';
mainContainer = document.getElementById(popID);
// Initiate WebGLRenderer renderer
renderer = new THREE.WebGLRenderer({antialias: true});
// Width and Height
popWidth = $('#' + popID).data('width'); // Get width
popHeight = $('#' + popID).data('height'); // Get width
renderer.setSize(popWidth, popHeight);
renderer.sortObjects = true;
// Append to mainContainer
mainContainer.appendChild(renderer.domElement);
Es scheint, dass Menü (DatGUI) auf der rechten Seite Leinwand ganze Breite des modalen Fenster nehmen verhindert.
Die DOM-Struktur des modalen Fenster wird mit erstellt:
<div id="mainWindow" data-width="900" data-height="490" class="center popup_block" style="display: block; width: 1296px; height: 705.6px; top: -93.3px; left: 62px;"><a href="#" class="close"><img src="./close_pop.png" class="btn_close" title="Close Window" alt="Close"></a>
<div id="global-ui">
<div id="buttons-wrapper">
<div id="buttons"><button id="startButtonId" class="btn btn-primary btn-xs" tabindex="13">Start</button><button id="resetButtonId" class="btn btn-default btn-xs" tabindex="14"></button><button type="submit" id="saveButtonId" class="btn btn-primary btn-xs"></button>
</div>
</div>
<div class="dg main a" style="-moz-user-select: none; width: 350px;">
...
Sie direkt die zweite Version auf dem folgenden Link testen:
[Testversion] [3]
Sie Klicken Sie ein erstes Mal auf das Bild, wenn Sie sich auf der Seite befinden, und machen Sie dann die Kugel durch Klicken auf den Startknopf unten rechts im modalen Fenster, direkt unter dem rechten Menü: Kugel erscheint o n Firefox, Opera, aber es ist schlecht in Chrome platziert.
Wenn mir jemand helfen könnte, ein THREE.js Canvas zu bekommen, das die ganze Breite des modalen Fensters ausfüllt, wäre das in Ordnung.
Grüße.
ich drei so kippt Antwort definitiv nicht verwenden, und Ihr Beispiel nur Mooren meine Maschine nach unten (es ist eine gute spec Maschine) so Ich vermute, dass Sie müssen nur das Canvas-Element 'renender.domElement 'festlegen.className = "canvasStyle"; 'und erstellen Sie einen Stil, der den Canvas absolut mit dem oberen linken Rand bei 0px positioniert. Dies verhindert, dass die anderen DOM-Elemente das Layout stören. – Blindman67