Với HTML / CSS, làm cách nào tôi có thể tạo một phần tử có chiều rộng và / hoặc chiều cao bằng 100% thành phần chính của nó và vẫn có phần đệm hoặc lề phù hợp?
"Đúng", ý tôi là nếu phần tử cha mẹ của tôi 200px
cao và tôi chỉ định height = 100%
với padding = 5px
tôi thì tôi sẽ hy vọng rằng tôi sẽ có được một 190px
phần tử cao với border = 5px
tất cả các mặt, tập trung độc đáo vào phần tử cha.
Bây giờ, tôi biết rằng đó không phải là cách mô hình hộp tiêu chuẩn chỉ định nó sẽ hoạt động (mặc dù tôi muốn biết tại sao, chính xác là ...), vì vậy câu trả lời rõ ràng không hoạt động:
#myDiv {
width: 100%
height: 100%;
padding: 5px;
}
Nhưng dường như tôi phải có MỘT SỐ cách đáng tin cậy để tạo ra hiệu ứng này cho một phụ huynh có kích thước tùy ý. Có ai biết một cách để hoàn thành nhiệm vụ (có vẻ đơn giản) này không?
Ồ, và đối với hồ sơ, tôi không quan tâm lắm đến khả năng tương thích IE, do đó, hy vọng sẽ làm mọi thứ dễ dàng hơn một chút.
EDIT: Vì một ví dụ đã được yêu cầu, đây là ví dụ đơn giản nhất tôi có thể nghĩ đến:
<html style="height: 100%">
<body style="height: 100%">
<div style="background-color: black; height: 100%; padding: 25px"></div>
</body>
</html>
Thử thách sau đó là làm cho hộp đen xuất hiện với phần đệm 25 pixel ở tất cả các cạnh mà không cần trang phát triển đủ lớn để yêu cầu thanh cuộn.