Hi Steffen,
[CSS2 §10.5] nochmal erklärt:
„Der Prozentwert wird relativ zur Höhe des umschließenden Blocks der erzeugten Box berechnet.“
Also relativ zu dem Element, in dem sich das img befindet. Wenn du – wie deine Frage #2 vermuten lässt – an Divitis leidest ;-), wird das ein div sein.
„Wird die Höhe des umschließenden Blocks nicht explizit angegeben (das heißt, ist sie demnach von der Inhaltshöhe abhängig), wird der Wert als 'auto' interpretiert.“
Heisst das er setzt anstatt height: 100% den wert height: auto??
Ja, genau das heißt es. (Das Bild behält also seine Größe.)
Und was dagegen zu tun ist, steht im ersten Teil des Satzes.
Wenn du explizit die Höhe des umschließenden Blocks, also des – hypothetischen ;-) – div angibst, wird das wieder auf dessen umschließenden Block bezogen …
So hangelst du dich hoch, bis du beim body ankommst, der in das Wurzelelement html eingebettet ist.
Damit also dein Bild die 100%ige Höhe des Viewports hat, müssen auch alle umschließenden Blöcke diese Höhe haben.
Live long and prosper,
Gunnar
„Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)