С 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 пикселей по всем краям, при этом страница не становилась достаточно большой, чтобы требовать полосы прокрутки.