Wie kann ich mit HTML/CSS ein Element erstellen, das eine Breite und/oder Höhe hat, die 100% des übergeordneten Elements beträgt, und trotzdem die richtigen Abstände oder Ränder hat?
Mit "richtig" meine ich, dass ich, wenn mein übergeordnetes Element 200px
groß und ich spezifiziere height = 100%
con padding = 5px
Ich würde erwarten, dass ich eine 190px
hohes Element mit border = 5px
auf allen Seiten, schön zentriert im übergeordneten Element.
Nun, ich weiß, dass das Standard-Box-Modell dies nicht vorsieht (obwohl ich gerne wüsste, warum genau...), also funktioniert die offensichtliche Antwort nicht:
#myDiv {
width: 100%
height: 100%;
padding: 5px;
}
Aber es scheint mir, dass es irgendeinen Weg geben muss, um diesen Effekt für ein Elternteil beliebiger Größe zuverlässig zu erzeugen. Kennt jemand eine Möglichkeit, diese (scheinbar einfache) Aufgabe zu bewältigen?
Oh, und damit das klar ist: Ich bin nicht sonderlich an IE-Kompatibilität interessiert, was die Sache (hoffentlich) ein bisschen einfacher macht.
EDIT: Da nach einem Beispiel gefragt wurde, hier das einfachste Beispiel, das mir einfällt:
<html style="height: 100%">
<body style="height: 100%">
<div style="background-color: black; height: 100%; padding: 25px"></div>
</body>
</html>
Die Herausforderung besteht dann darin, die schwarze Box mit einem 25-Pixel-Padding an allen Rändern anzuzeigen, ohne dass die Seite so groß wird, dass Bildlaufleisten erforderlich sind.
0 Stimmen
Ich habe festgestellt, dass diese beiden Lösungen am zuverlässigsten sind: http://www.xs4all.nl/~peterned/examples/csslayout1.html http://themaninblue.com/experiment/footerStickAlt/ Haben Sie einen bestimmten HTML-Code, den wir sehen und mit dem wir spielen können?
0 Stimmen
stackoverflow.com/questions/3931187/