Tôi đã đoạn mã sau đó về cơ bản là một container có chiều rộng và sau đó được lấp đầy với hình vuông nên có một số lượng tương đương của hình vuông accorss và xuống:Tại sao thùng chứa mất chiều cao 10px?
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>
Câu hỏi của tôi là lý do tại sao .container
mất 10px chiều cao (nếu bạn kiểm tra phần tử chỉ cao 950px), ngay cả khi hình vuông bên trong là hình vuông, có một số bằng nhau theo chiều dọc và chiều ngang và hàng lấp đầy đầy đủ 960px?
Tôi vừa mới kiểm tra và điều này dường như chỉ xảy ra ở chrome
'display: inline-block' thực hiện những điều kỳ lạ. Thử kiểm tra với 'overflow: hidden' trên' .container' và 'float: left' trên' .gridSquare' (nó là 950.391px). –
hoạt động tốt trong firefox, dường như có liên quan đến trình duyệt –
Hình vuông không phải là (luôn luôn) là số tròn. Bạn có thể sử dụng Math.round(), Math.floor() hoặc Math.ceil(). – schellingerht