Dengan HTML / CSS, bagaimana saya bisa membuat elemen yang memiliki lebar dan / atau tinggi 100% dari elemen induknya dan masih memiliki bantalan atau margin yang tepat?
Maksud saya, "tepat" jika elemen induk saya 200px
tinggi dan saya tentukan height = 100%
dengan, padding = 5px
saya akan berharap bahwa saya harus mendapatkan 190px
elemen tinggi dengan border = 5px
di semua sisi, baik berpusat di elemen induk.
Sekarang, saya tahu itu bukan bagaimana model kotak standar menentukan itu harus bekerja (walaupun saya ingin tahu mengapa, tepatnya ...), jadi jawaban yang jelas tidak bekerja:
#myDiv {
width: 100%
height: 100%;
padding: 5px;
}
Tetapi bagi saya tampaknya ada BEBERAPA cara andal menghasilkan efek ini untuk orang tua dengan ukuran sewenang-wenang. Adakah yang tahu cara menyelesaikan tugas (yang tampaknya sederhana) ini?
Oh, dan sebagai catatan saya tidak terlalu tertarik pada kompatibilitas IE sehingga seharusnya (semoga) membuat segalanya lebih mudah.
EDIT: Karena sebuah contoh diminta, inilah yang paling sederhana yang dapat saya pikirkan:
<html style="height: 100%">
<body style="height: 100%">
<div style="background-color: black; height: 100%; padding: 25px"></div>
</body>
</html>
Tantangannya adalah untuk mendapatkan kotak hitam untuk muncul dengan padding 25 pixel di semua tepi tanpa halaman tumbuh cukup besar untuk memerlukan scrollbar.