Sto affrontando uno strano problema.Div contenente canvas ha uno strano margine inferiore di 5px
in breve:
Quando abbiamo messo una tela in un div e impostare la dimensione della tela, il div è automaticamente 5px più grande della tela, mentre mi aspetto di ottenere la stessa dimensione esatta.
questa domanda è un seguito di this answer così mi prendo lo stesso esempio, il problema è stato riprodotto in Firefox e in Google Chrome. (non provate altri browser)
<div>
<canvas height="300px" width="200px"></canvas>
</div>
CSS:
div {
border: 2px solid blue; /* demo purposes */
display: inline-block;
}
canvas {
background-color: khaki; /* demo purposes */
}
risultato (vedere lo spazio bianco nel div):
Si può anche vedere questo esatto stesso esempio (molto semplice) in this JSfiddle
Perché ciò accade e come possiamo prevenirlo?
grazie, ma mi piacerebbe sapere di più su di esso, se non impostare la visualizzazione per bloccare, qual è il valore di visualizzazione predefinita e perché ci fa uno spazio vuoto sotto la tela? – Guian
Lo spazio appare a causa del modello di formattazione in linea. È un argomento complicato che non capisco completamente me stesso, ma puoi leggerlo a riguardo [qui] (http://reference.sitepoint.com/css/inlineformatting) e [qui] (http://meyerweb.com/ eric/css/inline-format.html). –
+1, hai ragione ovviamente! Lo spazio in basso è lo spazio bianco effettivo che viene reso. Se si imposta [line-height' su 0] (http://jsfiddle.net/kpdgQ/) lo spazio scompare. – Jeroen