Tôi có một div cho "lớp học" chứa div cho mỗi "sinh viên". Mỗi div "sinh viên" chứa một hình ảnh. Dưới đây là HTML:Tôi cần thêm một pixel vào div cha
<div class="classroom">
<div class="student">
<img class="student-image" src="http://dnqgz544uhbo8.cloudfront.net/_/fp/img/home/f.AmzRdUdc4pEtCuGvU03WXQ.jpg">
</div>
<div class="student">
<img class="student-image" src="http://dnqgz544uhbo8.cloudfront.net/_/fp/img/home/k.jXX55KhHUWZGTAb-GpPkdg.jpg">
</div>
<div class="student">
<img class="student-image" src="http://dnqgz544uhbo8.cloudfront.net/_/fp/img/home/c.ZKQXc2Kc8-po-OK6AhDbtw.jpg">
</div>
</div>
Tôi muốn hiển thị tất cả các "sinh viên" divs trong một dòng vì vậy tôi sử dụng css sau:
body {
padding: 0;
margin: 0;
overflow: hidden;
}
html, body {
height: 100%;
}
.classroom {
position: relative;
height: 100%;
}
.classroom .student {
position: relative;
height: 100%;
float: left;
}
.classroom .student .student-image {
height: 100%;
}
Để các sinh viên sẽ có đủ chỗ trong " lớp học "div, tôi sử dụng jQuery để tính toán chiều rộng của" lớp học ":
$(document).ready(function() {
var w = 0;
$(".student").each(function() {
w += $(this).width();
});
$(".classroom").width(w);
});
Thật không may là kết quả không phải là những gì tôi mong đợi. Div "sinh viên" cuối cùng sẽ chuyển sang dòng tiếp theo (như thể không có float: left;
được chỉ định). Kỳ lạ hơn là khi tăng chiều rộng của div "Lớp học" trong 1 pixel, div sẽ trả về vị trí đó ở cuối dòng đầu tiên.
Tôi đã thực hiện các jsfiddles đó: Ở đây http://jsfiddle.net/U3gBG bạn có thể thấy sự cố. nhấp vào bảng kết quả và sử dụng các phím mũi tên để cuộn xuống và sang phải.
Ở đây http://jsfiddle.net/U3gBG/1/ bạn có thể xem kết quả của việc thêm 1 vào chiều rộng của div "lớp học" sau khi tính toán (chiều rộng của "lớp học" bằng tổng của "sinh viên" chiều rộng cộng với 1 pixel). Kết quả này là những gì tôi cần.
Tôi không hiểu tại sao tôi cần phải tăng chiều rộng của div cha bằng 1? Tại sao tổng hợp tất cả chiều rộng con divs là không đủ?
bạn đã thử xem xét điều này trong nhiều trình duyệt chưa? có thể đó là một vấn đề trình duyệt cụ thể? –
@EyalAlsheich: Tôi đang sử dụng firefox cập nhật nhất và tôi cần nó để làm việc với nó. – Naor
hãy thử tìm trong tab bố trí trong firebug để xem bạn có thể tìm thấy phần tử 1 pixel dù xem mã của bạn không, vấn đề này có vẻ rất lạ. tôi đã thử nhìn nó trong fiddle nhưng những hình ảnh quá lớn và không thể cuộn nó, hãy thử nó với hình ảnh nhỏ hơn để tôi có thể nhìn thấy vấn đề –