Як за допомогою HTML / CSS я можу зробити елемент, який має ширину та / або висоту, що становить 100% від його батьківського елемента та все ще має належні набивки чи поля?
Під «правильним» Я маю в виду , що якщо мій батьківський елемент 200px
високий і я вказую height = 100%
з padding = 5px
свойого життя , що я повинен отримати 190px
високий елемент з border = 5px
з усіх боків, красиво по центру батьківського елемента.
Тепер я знаю, що це не так, як стандартна модель коробки визначає, що вона повинна працювати (хоча я хотів би знати, чому саме ...), тому очевидна відповідь не працює:
#myDiv {
width: 100%
height: 100%;
padding: 5px;
}
Але мені здається, що для батьків з довільним розміром повинен бути ДЕЙШИЙ спосіб надійного створення цього ефекту. Хтось знає про спосіб виконання цього (здавалося б, простого) завдання?
О, і для запису мене не дуже цікавить сумісність IE, щоб це (сподіваюся) полегшило ситуацію.
EDIT: Оскільки було запропоновано приклад, ось найпростіший, про який я можу придумати:
<html style="height: 100%">
<body style="height: 100%">
<div style="background-color: black; height: 100%; padding: 25px"></div>
</body>
</html>
Завдання полягає в тому, щоб чорне поле з'явилося з 25-піксельним накладкою на всіх краях, не зростаючи, щоб сторінка зростала достатньо великою, щоб вимагати прокрутки.