Sto cercando una soluzione da un po 'ora, ma non ho trovato nulla. Forse sono solo i miei termini di ricerca. Bene, sto provando a fare il centro della tela in base alle dimensioni della finestra del browser. La tela è 800x600. E se la finestra scende al di sotto 800x600, dovrebbe ridimensionare pure (ma questo non è molto importante in questo momento)Come centrare la tela in html5
risposta
Basta centrare il div in HTML:
#test {
width: 100px;
height:100px;
margin: 0px auto;
border: 1px solid red;
}
<div id="test">
<canvas width="100" height="100"></canvas>
</div>
Basta cambiare l'altezza e la larghezza a qualunque e hai un div centrato
Fortunato me, ne avevo bisogno subito dopo averlo pubblicato. :) – mcandre
fantastico! felice di poter aiutare – JoeCianflone
Questo non funziona se la tela è più piccola del contenitore. – SystemicPlural
Dare la tela le seguenti proprietà di stile CSS:
canvas {
padding-left: 0;
padding-right: 0;
margin-left: auto;
margin-right: auto;
display: block;
width: 800px;
}
Modifica
Dal momento che questa risposta è molto popolare, mi permetta di aggiungere un po 'più particolari.
Le proprietà di cui sopra saranno in orizzontale centra il canvas, div o qualsiasi altro nodo che si ha rispetto al suo genitore. Non è necessario modificare i margini o gli imbottiture superiori o inferiori. Si specifica una larghezza e si lascia che il browser riempia lo spazio rimanente con i margini automatici.
Tuttavia, se si desidera digitare meno, è possibile utilizzare qualsiasi scorciatoia css proprietà che si desidera, ad esempio
canvas {
padding: 0;
margin: auto;
display: block;
width: 800px;
}
centraggio tela verticale richiede un approccio diverso però. È necessario utilizzare il posizionamento assoluto e specificare sia la larghezza che l'altezza. Quindi imposta le proprietà sinistra, destra, superiore e inferiore su 0 e lascia che il browser riempia lo spazio rimanente con i margini automatici.
canvas {
padding: 0;
margin: auto;
display: block;
width: 800px;
height: 600px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
La tela sarà centrare si è basata sul primo elemento padre che ha position
insieme a relative
o absolute
, o il corpo, se non viene trovato.
Un altro approccio sarebbe quello di utilizzare display: flex
, che è disponibile in IE11
Inoltre, assicurarsi di utilizzare un recente doctype come XHTML o HTML 5.
questa è la soluzione corretta +1 – ProllyGeek
display: block; e margine: 0 auto 0 auto; è abbastanza anche Grazie! – Chris
Per centrare verticalmente una tela, non è necessario inserire la larghezza e l'altezza in, purché la specifichi nel codice HTML. Su Chrome, comunque. – Zac
ho avuto lo stesso problema, come ho avere immagini con molte larghezze diverse che carico solo con informazioni di altezza. L'impostazione di una larghezza consente al browser di allungare e spremere l'immagine. Risolvo il problema avendo la riga di testo appena prima centrata la linea image_tag (anche liberando float: left;). Mi sarebbe piaciuto che il testo fosse allineato, ma questa è una piccola incongruenza, che posso tollerare.
Puoi esprimere la tua tela le proprietà CSS FF:
#myCanvas
{
display: block;
margin: 0 auto;
}
Questa dovrebbe essere la risposta accettata. – lux
Puoi fornire un jsfiddle? Questo approccio non sembra funzionare –
Perché non è questa la risposta accettata?!?!?! –
Le risposte di cui sopra funzionano solo se la tela è la stessa larghezza del contenitore.
Questo funziona indipendentemente:
#container {
width: 100px;
height:100px;
border: 1px solid red;
margin: 0px auto;
text-align: center;
}
#canvas {
border: 1px solid blue;
width: 50px;
height: 100px;
}
<div id="container">
<canvas id="canvas" width="100" height="100"></canvas>
</div>
- 1. fabric.js ... come centrare tela
- 2. Come centrare un elemento nella tela wpf
- 3. Tela all'interno di html5
- 4. Ridisegnare la tela HTML5 incredibilmente lenta
- 5. firefox e radialgradient (utilizzando la tela html5)
- 6. Scorrimento orizzontale su tela. HTML5
- 7. Disegna video su tela HTML5
- 8. Come ottengo la larghezza e l'altezza di una tela HTML5?
- 9. Come posso rendere la tela HTML5 andare a schermo intero?
- 10. tela Carica HTML5 come un blob
- 11. Come bufferizzare la grafica per una tela html5
- 12. Traduzione di una tela HTML5
- 13. Qualsiasi software come la fusione per l'animazione su tela HTML5?
- 14. Rendering/Ritorno tela HTML5 in ReactJS
- 15. Come disegnare poligoni su una tela HTML5?
- 16. Come caricare l'immagine nella tela HTML5
- 17. Scorrimento personalizzato su tela HTML5
- 18. Metodo per convertire la tela HTML5 in SVG?
- 19. Come si crea una tela trasparente in html5?
- 20. La tela HTML5 disabilita le antialias sulle primitive (curve, ...)
- 21. evitano la scrolling durante html5 evento tela touchmove
- 22. Determina la larghezza della stringa nella tela HTML5
- 23. HTML5 Dimensioni e risoluzione della tela
- 24. allegare eventi della tastiera alla tela HTML5
- 25. Sovrapposizione immagine su tela HTML5 su immagine
- 26. Nice Trascina su una tela HTML5
- 27. HTML5 Rimuovi oggetto disegno precedente su tela
- 28. La tela (HTML5) ha l'equivalente di una mappa immagine?
- 29. È possibile deformare un'immagine su tela html5?
- 30. L'animazione tela HTML5 non funziona correttamente
Perché non a piena pagina su tela? –
Come posso dire di creare una pagina intera per la tela senza dare dimensioni e senza avere barre di scorrimento durante il ridimensionamento? – jorgen
Non farlo in HTML .. fallo con javascript, usa cose come appendChild o qualcosa del genere e imposta larghezza e altezza a window.innerWidth e window.innerHeight –