CSS Design - Σχεδιάστε χωρίς <table...>

Σε προηγούμενη ανάρτηση αναφέρθηκε το πώς τα tags <div...> και <span...> μπορούν να αντικαταστήσουν σχεδόν κάθε html tag. Αν κοιτάξουμε μάλιστα στο Internet, θα βρούμε πολλά βιβλία που λένε πώς να φτιάχνουμε site χωρίς html πίνακες. Πώς γίνεται αυτό; Είναι στ' αλήθεια εφικτό;

Έστω ότι θέλουμε να φτιάξουμε το παρακάτω design για μια σελίδα:

Για να το δημιουργήσουμε με <table...> θα χρησιμοποιήσουμε τον παρακάτω κώδικα:

<table>
<tr><td colspan="2">ΚΕΦΑΛΙΔΑ</td></tr>
<tr><td>ΑΡΙΣΤΕΡΗ ΣΤΗΛΗ</td><td>ΠΕΡΙΕΧΟΜΕΝΟ</td></tr>
<tr><td colspan="2">ΥΠΟΣΕΛΙΔΟ</td></tr>
</table>

Όπως βλέπουμε λοιπόν, για να δημιουργήσουμε έναν πίνακα HTML χρειαζόμαστε τουλάχιστον 6 tags(3 τα table,tr και td και άλλα 3 που κλείνουν τα προηγούμενα).

Το παραπάνω παράδειγμα είναι απλό. Σκεφτείτε, όμως, πως στη sidebar συνήθως βάζουμε εργαλεία όπως κώδικα Javascript, Φόρμες για σύνδεση του χρήστη και πολύ πιθανόν αυτά να τα προσαρμόζουμε χρησιμοποιώντας tables. Κι αν έχετε δημιουργήσει κάτι τέτοιο, ή έστω προσπαθήσει να το καταφέρετε, θα δείτε πως δεν είναι δύσκολο, αλλά είναι σίγουρα δυσανάγνωστο. Άρα τι κάνουμε;

Χρησιμοποιώντας το tag <div...> και λίγο CSS, μπορούμε να δημιουργήσουμε τον παρακάτω κώδικα που πραγματοποιεί ακριβώς το ίδιο design:

<div id="header" style="clear:both;">ΚΕΦΑΛΙΔΑ</div>
<div id="wrapper">
<div id="sidebar" style="float:left;">ΑΡΙΣΤΕΡΗ ΣΤΗΛΗ;</div>
<div id="content" style="float:right;">ΠΕΡΙΕΧΟΜΕΝΟ</div>
</div>
<div id="footer" style="clear:both;">ΥΠΟΣΕΛΙΔΟ</div>

Σε κάθε div έχει οριστεί ένα id και ένα style. Ας ξεκινήσουμε από μέσα προς τα έξω.

Το float:left;, δίνει στο div-sidebar την ιδιότητα να εμφανίζεται αριστερά στη σελίδα.

Το float:right;, δίνει στο div-content την ιδιότητα να εμφανίζεται δεξιά στη σελίδα.

Το clear:both;, δίνει στα div-header και div-footer την ιδιότητα να μην επιτρέπουν σε αντικείμενο με ιδιότητα float να υπάρχει αριστερά ή δεξιά τους. Έτσι καταφέρνουμε τα div-sidebar και div-content να βρίσκονται ανάμεσα στο div-header και div-footer και όχι κάπου διάσπαρτα στη σελίδα.

Πειραματιστείτε με τον παραπάνω κώδικα και θα καταλάβετε σίγουρα περισσότερα!


Παρατηρήσεις
  • Για να είστε σίγουροι πως το design που θα φτιάξετε, θα εμφανίζεται σωστά σε όλες τις αναλύσεις, υπάρχουν δύο λύσεις.
    1)Μπορείτε να ορίσετε width και height του κάθε div χρησιμοποιώντας ποσοστά πχ. width:30% ή height:90%.
    2)Μπορείτε να χρησιμοποιήσετε για στάνταρ διαστάσεις, διαστάσεις λίγο μικρότερες από τη μικρότερη σύγχρονη ανάλυση,ή τουλάχιστον την πιο διαδεδομένη, η οποία, τη στιγμή που γράφονται αυτές οι γραμμές, είναι 1024Χ768. Οπότε υπολογίστε ένα μέγιστο width περίπου 900px.
  • Ο παραπάνω κώδικας CSS προβάλλεται σωστά σε όλους τους φυλλομετρητές(πχ. Opera,Firefox, IE 6,IE 7 κτλ). Όταν όμως βασίζεστε σε CSS να προσέχετε αν αυτά που γράφετε υποστηρίζονται από όλους τους φυλλομετρητές(αν σας ενδιαφέρει καθολική υποστήριξη). Αλλιώς, το site σας μπορεί να προβάλλεται σωστά σε IE 7 αλλά όχι IE6 ή IE8RC1.

Comments

Popular Posts