Avec HTML/CSS, comment puis-je créer un élément dont la largeur et/ou la hauteur est égale à 100 % de celle de l'élément parent tout en conservant un remplissage ou des marges appropriés ?
Par "correct", je veux dire que si mon élément parent est 200px
grand et je précise height = 100%
avec padding = 5px
Je m'attendrais à ce que je reçoive un 190px
élément élevé avec border = 5px
de tous les côtés, joliment centré dans l'élément parent.
Maintenant, je sais que ce n'est pas la façon dont le modèle standard de boîte spécifie que cela devrait fonctionner (bien que j'aimerais savoir pourquoi, exactement...), donc la réponse évidente ne fonctionne pas :
#myDiv {
width: 100%
height: 100%;
padding: 5px;
}
Mais il me semble qu'il doit y avoir UN moyen de produire cet effet de manière fiable pour un parent de taille arbitraire. Quelqu'un connaît-il un moyen d'accomplir cette tâche (apparemment simple) ?
Oh, et pour mémoire, je ne suis pas très intéressé par la compatibilité avec IE, ce qui devrait (espérons-le) faciliter un peu les choses.
EDIT : Puisqu'on a demandé un exemple, voici le plus simple qui me vient à l'esprit :
<html style="height: 100%">
<body style="height: 100%">
<div style="background-color: black; height: 100%; padding: 25px"></div>
</body>
</html>
Le défi consiste alors à faire en sorte que la boîte noire s'affiche avec une marge de 25 pixels sur tous les bords sans que la page devienne suffisamment grande pour nécessiter des barres de défilement.
0 votes
J'ai constaté que ces deux solutions sont les plus fiables : http://www.xs4all.nl/~peterned/examples/csslayout1.html http://themaninblue.com/experiment/footerStickAlt/ Avez-vous un HTML spécifique que nous pouvons voir et avec lequel nous pouvons jouer ?
0 votes
stackoverflow.com/questions/3931187/