Nếu bạn nhìn vào CSS box model spec, bạn sẽ quan sát như sau:Tại sao tỷ lệ phần trăm ký quỹ/tỷ lệ đệm trong CSS luôn được tính theo chiều rộng?
Các [lề] tỷ lệ phần trăm được tính đối với rộng của khối chứa các tạo hộp với. Lưu ý rằng điều này cũng đúng với 'lề trên cùng' và 'lề dưới cùng'. Nếu chiều rộng của khối chứa phụ thuộc vào phần tử này, thì bố cục kết quả là không xác định trong CSS 2.1. (nhấn mạnh mỏ)
Điều này thực sự đúng. Nhưng lý do tại sao? Điều gì trên trái đất sẽ buộc bất cứ ai thiết kế nó theo cách này? Thật dễ dàng để nghĩ về các tình huống mà bạn muốn, ví dụ: một điều nhất định luôn giảm 25% so với đầu trang, nhưng khó có thể đưa ra bất kỳ lý do nào khiến bạn muốn đệm dọc tương ứng với kích thước ngang của phụ huynh.
Dưới đây là một ví dụ về hiện tượng tôi đề cập đến:
<div style="border: 1px solid red; margin: 0; padding: 0; width: 200px; height: 800px;">
This div is 200x800.
<div style="border: 1px solid blue; margin: 10% 0 0 10%;">
This div has top-margin of 10% and left-margin of 10% with respect to its parent.
</div>
</div>
Kích thước dọc của * trang * hoặc * cửa sổ *? Chúng hầu như không bao giờ Tôi tưởng tượng rằng sự mơ hồ này là một phần quan trọng của lý do tại sao – RichardTowers
Kích thước thẳng đứng của phần tử chứa (có khả năng là cơ thể, tất nhiên.) Tôi đã thêm một ví dụ trong JSFiddle để giúp minh họa – mquander
Tôi không biết. Nhưng câu hỏi này kiếm được một ngôi sao "yêu thích" của tôi, +1 và thời gian nghiên cứu (và có thể, nếu tôi không thể tìm thấy bất cứ điều gì phù hợp, gửi email cho ai đó giống như Eric Meyer) –