Ho il seguente codice che è fondamentalmente un contenitore che ha una larghezza e viene poi riempito con quadrati per cui v'è un numero uguale di quadrati accorss e giù:Perché il contenitore perde 10px di altezza?
var container = $('.container'),
numberOfSquares = 25,
squareSize = container.width()/numberOfSquares;
for (var squares = 0; squares < numberOfSquares * numberOfSquares; squares++) {
$('<div class="gridSquare"></div>').appendTo(container);
}
$('.gridSquare').css({
"height": squareSize + "px",
"width": squareSize + "px"
});
.container {
width: 960px;
}
.gridSquare {
background-color: black;
display: inline-block;
vertical-align: top;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container"></div>
mia domanda è il motivo per cui lo .container
perde 10px in altezza (se controlli l'elemento è alto solo 950px), anche se i quadrati all'interno sono quadrati, c'è un numero uguale in verticale e in orizzontale e la riga riempie l'intero 960px?
Ho appena controllato e questo sembra solo a verificarsi in cromo
'display: inline-block' fa cose strane. Prova a provare con 'overflow: hidden' su' .container' e 'float: left' su' .gridSquare' (è 950.391px). –
funziona bene in Firefox, sembra collegato al browser –
Squaresize non è (sempre) un numero tondo. È possibile utilizzare Math.round(), Math.floor() o Math.ceil(). – schellingerht