С помощью HTML/CSS, как я могу создать элемент, который имеет ширину и/или высоту, равную 100% его родительского элемента, и все еще имеет надлежащие отступы или поля?
Под "правильным" я подразумеваю, что если мой родительский элемент имеет высоту 200px
и я указываю height = 100%
с помощью padding = 5px
, я ожидаю, что я должен получить элемент 190px
с высоким значением border = 5px
со всех сторон, приятно центрированный в родительский элемент.
Теперь я знаю, что это не то, как стандартная блочная модель указывает, что она должна работать (хотя я хотел бы знать, почему именно...), поэтому очевидный ответ не работает:
#myDiv {
width: 100%
height: 100%;
padding: 5px;
}
Но мне кажется, что должен быть НЕКОТОРЫЙ способ надежного создания этого эффекта для родителя произвольного размера. Кто-нибудь знает способ выполнения этой (казалось бы простой) задачи?
Да, и для записи, я не очень заинтересован в совместимости IE, так что это (надеюсь) должно немного облегчить ситуацию.
ОБНОВЛЕНИЕ: Так как пример был запрошен, вот самый простой, который я могу придумать:
<html style="height: 100%">
<body style="height: 100%">
<div style="background-color: black; height: 100%; padding: 25px"></div>
</body>
</html>
Задача состоит в том, чтобы черный ящик отображался с отступом 25 пикселей по всем краям, при этом страница не становилась достаточно большой, чтобы требовать полосы прокрутки.