Βρίσκεστε στα παλιότερα κείμενα του blog. Αφού διαβάσετε αυτό που σας ενδιαφέρει, μπορείτε να επιστρέψετε στα καινούρια.

Tuesday 22.05.2007, ¶ Web design ¶ Τυπογραφία, 5 Σχόλια

Εφαρμογή καλής τυπογραφίας στο Web (μέρος 2ο)

Ένα από τα βασικότερα χαρακτηριστικά που κάνουν το κείμενο ευκολοδιάβαστο στο Web είναι ο κάθετος ρυθμός (vertical rhythm). Με άλλα λόγια πρόκειται για το κενό που παρεμβάλλεται μεταξύ των γραμμών του κειμένου είτε πρόκειται για κείμενο μέσα στην παράγραφο είτε για την απόσταση μεταξύ headers και κειμένου.

Για τι πράγμα ακριβώς μιλάμε;

Οι δύο παρακάτω εικόνες περιέχουν το ίδιο κείμενο με τον ίδιο τίτλο. Η μόνη τους διαφορά έχει να κάνει με το γεγονός ότι στο δεύτερο υπάρχει επεξεργασία στην τυπογραφία με το αποτέλεσμα να είναι ολοφάνερο.

no vertical rythm

Στην παραπάνω εικόνα τόσο ο τίτλος όσο και το κυρίως κείμενο δεν έχουν καμία μορφοποίηση όσον αφορά τον κάθετο ρυθμό.

no vertical rythm

Σε αυτή την εικόνα έχουν εφαρμοσθεί συγκεκριμένοι κανόνες. Το αποτέλεσμα είναι είναι ένα πιο ευχάριστο κι ευκολοδιάβαστο κείμενο.

Ας υποθέσουμε ότι θέλουμε να πετύχουμε ένα κάθετο ρυθμό σαν αυτό της 2ης εικόνας. Τι πρέπει να κάνουμε;

To (x)HTML κομμάτι του κώδικα

Κατ’ αρχάς θεωρείται δεδομένο ότι η (x)HTML αναλαμβάνει να συμπεριλάβει το κείμενο και μόνο. Ο ρυθμός και οι κανόνες επιτυγχάνονται μέσω του CSS.

Το παραπάνω κείμενο σε κώδικα μεταφράζεται ως εξής:

<h1>Gutenberg (ca. 1450-1480) & The Impact of Printing>/h1>
<p>Before the printing press…</p>
<p>This remained true…</p>

Ο μηδενισμός των default τιμών των browsers μέσω CSS

Πριν να εφαρμοσθεί ο οποιοσδήποτε κανόνας που ο designer επιθυμεί είναι απαραίτητο να έχει πλήρη έλεγχο στην τυπογραφία.

Οι περισσότεροι browsers δίνουν μια default τιμή στο μέγεθος των γραμμάτων ίση με 16 pixels. Αν υποθέσουμε ότι το κυρίως κείμενο θέλουμε να έχει μέγεθος 10 pixels πρέπει να το δηλώσουμε. Αυτό γίνεται με δύο τρόπους. Ο πρώτος είναι να δώσουμε ποσοστό % ως εξής:

body {
font-size: 62.5%;
}

(Ο αριθμός 62.5% προκύπτει από τη διαίρεση του 10 με το 16.)

Ο παραπάνω κώδικας δηλώνει στον browser ότι το κείμενο θα έχει μέγεθος 10px. Γιατί όμως να μην ορίσει κανείς απευθείας τα 10px και να χρησιμοποιήσει ποσοστό; Γιατί χρησιμοποιώντας ποσοστά βεβαιωνόμαστε ότι όταν ο επισκέπτης της σελίδας θα δοκιμάσει να μικρύνει ή να μεγαλώσει το κείμενο (με τη χρήση των πλήκτρων Ctrl- και Ctrl+) όλοι οι browsers, ακόμα και οι πιο παλιοί, θα ανταποκριθούν.

Το ίδιο με το παραπάνω επιτυγχάνεται, αν αντί για ποσοστό % δώσουμε τιμή για το μέγεθος των γραμμάτων σε ems. O Em Calculator αναλαμβάνει τη δουλειά. Άρα, στην περίπτωση των ems το CSS αρχείο θα είναι:

body {
font-size: .63em;
}

Αυτή τη στιγμή έχουμε δηλώσει το μέγεθος των γραμμάτων που επιθυμούμε ξεπερνώντας το τι θέτει ως default κάθε browser. Χρειάζεται να γίνει το ίδιο για τα margins και τα paddings που ορίζει ο κάθε browser. Θυμίζω στα γρήγορα με μια εικόνα τι είναι το margin και τι το padding. Την εικόνα έφτιαξε ο μάγος του design, Jon Hicks.

3d-box-model

Ο μηδενισμός των margins και των paddings γίνεται εύκολα:

body, h1, p {
margin: 0;
padding: 0;
}

Τώρα έχουμε μηδενίσει και τις default αποστάσεις μεταξύ των πραγράφων και των τίτλων.

Η ώρα της αρμονίας

Για να πετύχουμε την αρμονία πρέπει να δώσουμε επαρκείς αποστάσεις

  • στις σειρές του κειμένου μεταξύ τους
  • μεταξύ των παραγράφων
  • μεταξύ τίτλων και παραγράφων

Τα δύο πρώτα θα τα πετύχουμε με ένα κανόνα στο CSS αρχείο μας:

p {
font-size: 1em;
line-height: 1.5em;
margin: 1em 0 2em 0;
}

Τι λέει το παραπάνω; Κατ’ αρχήν ότι το μέγεθος του κειμένου μέσα στην παράγραφο θα είναι όσο το ορίσαμε, 1em ή 10px.

Στη συνέχεια αυξάνουμε την απόσταση μεταξύ των γραμμών σε 1.5em. Δίνοντας αέρα 1.5em μπορούμε να είμαστε σίγουροι ότι οι γραμμές μας “αναπνέουν” και το κείμενο είναι πιο ευκολοδιάβαστο. Αν λειτουργούσαμε με pixels, θα δίναμε: line-height: 15px για μέγεθος γραμματοσειράς 10px.

Τέλος, αυξάνουμε την απόσταση των παραγράφων μεταξύ τους. Τώρα η απόστασή τους είναι 3em. To margin: 1em 0 2em 0 σημαίνει ότι μία παράγραφος απέχει από την προηγούμενή της 1em, από δεξιά 0, από την επόμενή της 2em και από αριστερά 0 (οι τιμές διαβάζονται με τη φορά των δεικτών του ρολογιού). Μπορεί φυσικά κάποιος να παίξει με τις αποστάσεις για να βρει τη δική του αρμονία.

Μας έχει μείνει μόνο να καθορίσουμε την απόσταση μεταξύ τίτλου και παραγράφων. Τώρα πια τα πράγματα είναι πιο απλά:

h1 {
font-size: 1.5em;
line-height: 1.5em;
margin: 1.5em 0 2.5em 0;
}

O τίτλος μας πια έχει αλλάξει μέγεθος κι έχει γίνει 1.5em δηλαδή 15px. Ίδια είναι και η απόσταση μεταξύ των τίτλων. Τα αντίστοιχα margins είναι πια (σε pixels): 15px, 0, 25px, 0. Προφανώς τα margins καθορίζονται με βάση το μέγεθος των γραμμάτων του h1.

Επίλογος

Το παραπάνω παράδειγμα δεν είναι βέβαια δεσμευτικό. Ο καθένας μπορεί να βρει το δικό του ρυθμό. Βασικό ρόλο παίζει και η γραμματοσειρά. Άλλιώς φαίνεται με τις παραπάνω τιμές π.χ. η Verdana κι αλλιώς η Georgia ή η Trebuchet.

Ένα εξαιρετικό κείμενο περί κάθετου ρυθμού έγραψε ο Richard Rutter για το 24 ways. To κείμενο εκείνο ήταν η αφορμή να γράψω αυτό εδώ και μπορεί να σας φανεί χρήσιμο. Στο ίδιο στυλ υπάρχει και το Setting Type on the Web to a Baseline Grid στο (πού αλλού;) A List Apart.

Ο κάθετος ρυθμός δεν εξαντλείται στους τίτλους και τις παραγράφους. Υπάρχουν και οι λίστες οι οποίες μπορούν να ομορφύνουν πολύ, αν εφαρμοσθούν κάποιοι ανάλογοι κανόνες.

Όμως είπα πολλά για την αρμονία σε κάθετο επίπεδο. Στο επόμενο έρχεται η ώρα των γραμματοσειρών και πως ένα design μπορεί να περιέχει γραμματοσειρές που δεν είναι εγκατεστημένες στους υπολογιστές των επισκεπτών ενός τόπου, αλλά παρ’ όλα αυτά να φαίνονται κανονικά στη σελίδα. Μέχρι τότε μπορεί κάποιος να ρίξει μια ματιά στο προηγούμενο επεισόδιο της σειράς.

5 Σχόλια

Picture of lazopolis

Πολύ κατατοπιστική αυτή η συλλογή άρθρων, ειδικά για μας τους ερασιτέχνες του web design (φαντάζομαι οι επαγγελματίες τα ξέρουν αυτά).

Αυτό που ψάχνω εδώ και καιρό και δεν μπορώ να βρώ είναι ένα καλό άρθρο για τις ελληνικές γραμματοσειρές που είναι web safe με κάποια κριτήρια για το πότε να χρησιμοποιείς ποιά. Έχεις τίποτα υπ’όψιν σου;
——-

lazopolis
27 May 2007

Picture of porcupine

@lazopolis η εντύπωσή μου είναι ότι οι 9 στους 10 επαγγελματίες δεν ξέρουν τι είναι καν τα CSS.

Όσο για Web safe ελληνικές γραμματοσειρές είναι μετρημένα κουκιά: Verdana, Tahoma, Arial, Times, Comics-sans, Georgia, Garamond. Μπορεί να ξεχνάω 1-2, αλλά έως εκεί πάει.

Κι από αυτές μερικές είναι ήδη καμένες π.χ. Comics. Εκτός κι αν ετοιμάζεις site για το παιδί σου. Οι επιλογές είναι πραγματικά περιορισμένες.

porcupine
28 May 2007

Picture of Harris

Πάντως διβάζοντας το comp.infosystems.www.authoring.stylesheets πολύ έχουν την άποψη ότι το body το αφήνεις με font-size:1em

Υπό την έννοια ότι αφήνεις το χρήστη να ορίζει το δικό του default μέγεθος αυτού που βλέπει και όχι ε΄συ το δικό σου.

Από μια οπτική είναι σωστό. Πολύ σωστο. Αλλά απο την άλλη πόσοι αλλάζουν τα font settings στους browser τους; Εγώ θα έλεγα ενα 5%.

Ακόμα πάντως στα site που κάνω δεν έχω καταλήξη τί είναι καλύτερο, να βαζω 1em ή ένα δικό μου (px .83em είναι καλά).

Harris
31 May 2007

Picture of porcupine

@Harris: Αν αφήσεις πάντως το font-size:1em και υποθέσουμε ότι όλοι οι χρήστες αλλάζουν τα font settings πάλι δεν είσαι σίγουρος γιατί ο καθένας θα τα αλλάξει σε κάτι διαφορετικό...

porcupine
1 June 2007

Picture of Harris

Ε ναι... That`s the point! Όχι διαφορετική σχεδίαση, αλλά διαφορετικά font sizes.
όπως είπα δεν ταυτίζομαι απόλυτα με την παραπάνω άποψη, απλά τη μεταφέρω εδώ πέρα θέλωντας να ακούσω γνώμες.

Harris
3 June 2007

-- Τα σχόλια για το post αυτό είναι κλειστά.