To <body> είναι ουσιαστικά άλλο ένα block level element, με τα θετικά και τα αρνητικά του. Ενίοτε αυτό μπορεί να μας προκαλέσει πρόβλημα, όπως μου συνέβη πρόσφατα.
Στο site που δουλεύω, έχω ρθυμίσει το html και το body να έχουν διαφορετικά (ημιδιαφανή) φόντα, ώστε συνδυαστικά να δίνουν το εφέ φόντου που θέλω (αφού τα CSS3 multiple backgrounds αργούν ακόμα…). Οι περισσότερες σελίδες του site έχουν μεγαλύτερο ύψος από το viewport του browser, ακόμα και σε μεγάλες αναλύσεις, οπότε δεν μου είχε τύχει περίπτωση να είναι το περιεχόμενο μικρότερο από το viewport, μέχρι που ασχολήθηκα με τα μηνύματα λάθους που εμφανίζονται αν κάτι πάει στραβά. Ο σχεδιασμός που αποφάσισα ήταν τέτοιος, που τα περισσότερα οδηγούσαν το body να έχει μικρότερο ύψος από το viewport, ακόμα και στο laptop μου που έχει ανάλυση μόλις 1280×800. Το αποτέλεσμα ήταν να “κόβεται” απότομα το φόντο του body και να φαίνεται άσχημο.
Η πρώτη μου σκέψη ήταν να δώσω ένα height:100% σε html και body. Το αποτέλεσμα ήταν να φτιάξει μεν στις περιπτώσεις που το ύψος του περιεχομένου ήταν μικρότερο από το viewport και να χαλάσει στις υπόλοιπες (που αποτελούσαν και την πλειοψηφία). Η δεύτερη σκέψη μου ήταν να αλλάξω το height:100% με min-height:100%. Τίποτα, σαν να μην υπήρχε. Η τρίτη μου σκέψη ήταν να συμβουλευτώ τον παλιόφιλο γούγλη
. Μετά από πολλαπλές αναζητήσεις κατέληξα ότι λύση δεν υπάρχει, τουλάχιστον χωρίς tables και χωρίς javascript, οπότε το πήρα απόφαση ότι θα χρειαζόταν να γράψω λίγη javascript για να λυθεί. Διαβάστε την συνέχεια του άρθρου »
Πρόσφατα σχόλια