Con HTML / CSS, come posso creare un elemento che abbia una larghezza e / o altezza pari al 100% del suo elemento padre e che abbia ancora un'imbottitura o dei margini adeguati?
Per "corretto" intendo che se il mio elemento genitore è 200px
alto e lo specifico height = 100%
con padding = 5px
mi aspetterei che dovrei ottenere un 190px
elemento alto conborder = 5px
su tutti i lati, ben centrato nell'elemento genitore.
Ora, so che non è così che il modello di scatola standard specifica che dovrebbe funzionare (anche se mi piacerebbe sapere perché, esattamente ...), quindi la risposta ovvia non funziona:
#myDiv {
width: 100%
height: 100%;
padding: 5px;
}
Ma mi sembra che ci sia ALCUNO modo di produrre questo effetto in modo affidabile per un genitore di dimensioni arbitrarie. Qualcuno sa come realizzare questo (apparentemente semplice) compito?
Oh, e per la cronaca non sono terribilmente interessato alla compatibilità con IE, quindi dovrebbe (si spera) rendere le cose un po 'più facili.
EDIT: da quando è stato richiesto un esempio, ecco il più semplice che mi viene in mente:
<html style="height: 100%">
<body style="height: 100%">
<div style="background-color: black; height: 100%; padding: 25px"></div>
</body>
</html>
La sfida è quindi far apparire la scatola nera con un'imbottitura di 25 pixel su tutti i bordi senza che la pagina diventi abbastanza grande da richiedere barre di scorrimento.