Πριν από χρόνια, οι πίνακες HTML ήταν το πρότυπο για την τοποθέτηση ιστοσελίδων. Το CSS και η σημασιολογική σκέψη άλλαξαν και σήμερα τα πλαίσια CSS κάνουν το σχεδιασμό σχετικά εύκολο.
Αλλά μπορούν επίσης να δημιουργήσουν έναν εκπληκτικό αριθμό περιττών στοιχείων.
Το σύστημα 960 Grid ενθαρρύνει την προσθήκη του Η δημιουργία καθαρότερου κώδικα σημαίνει να ξεπεράσουμε το πλαίσιο και να σκεφτούμε τι αντιπροσωπεύει πραγματικά. Τα πλαίσια CSS παρέχουν μια λύση ροής εργασιών, δηλαδή την ταχεία ανάπτυξη των γραμμών web-based layouts. Ένα από τα πιο δημοφιλή πλαίσια σήμερα είναι το 960 Grid System ( 960.gs ), το όνομά του από το προκαθορισμένο πλάτος. Με την πρακτική, το 960.gs μπορεί να είναι ένα εξαιρετικό εργαλείο για οποιονδήποτε σχεδιαστή ιστοσελίδων. Αλλά επίσης επανεξετάζει μερικά παλιά προβλήματα. Πριν δει την ευρεία χρήση, οι πίνακες παρείχαν όλη τη διάταξη που χρειάστηκε ένας σχεδιαστής ιστού. Πιο περίπλοκα σχέδια είχαν τραπέζια ένθετα μέσα σε πίνακες, αλλά σε υπερβολική χρήση δημιουργούσαν ένα μπερδεμένο χάος HTML. Οι σχεδιαζόμενες από το CSS σχεδιαγράμματα παρασύρουν τους σχεδιαστές με την υπόσχεση για λιγότερο HTML. απευθύνονται επίσης σε λάτρεις της σημασιολογίας. Με απλά λόγια, το CSS ενθάρρυνε τη χρήση της HTML που περιέγραφε το περιεχόμενό της και όχι το πώς θα έπρεπε να μοιάζει. Καθώς οι σχεδιαστές μάθαιναν να χρησιμοποιούν το CSS, τα στοιχεία div αντικατέστησαν πίνακες. Αλλά τα divs μπορεί να είναι - και συχνά είναι - ένθετα, ακριβώς όπως τα τραπέζια. Ο σαφής, λιτός κώδικας προσφέρει πολλά πλεονεκτήματα. Είναι εύκολο να επιδιορθώσετε, να κατεβάσετε γρήγορα και να προκαλέσετε λιγότερα προβλήματα σε διάφορους τύπους προγραμμάτων περιήγησης. Οι σχετικές ετικέτες βοηθούν τους αναγνώστες οθόνης, τις μηχανές αναζήτησης και τις κινητές συσκευές να ερμηνεύουν το νόημα εκτός από τη διάταξη. Εκτός από τη σημασιολογία, το μεγάλο πλεονέκτημα της χρήσης Τα πλαίσια CSS όπως το 960.gs αναδημιουργούν το υποκείμενο πρόβλημα με τους πίνακες; Εάν ο στόχος τους είναι αποτελεσματικός κώδικας HTML, μπορούν οι σχεδιαστές και οι προγραμματιστές να χρησιμοποιήσουν το 960.gs χωρίς να διαδίδουν "class-itis" (δηλαδή υπερβολική χρήση των τάξεων) και "div-itis" (π.χ. Ναι μπορούν. Για να καταλάβουμε πώς, πρέπει να δούμε το ίδιο το πλαίσιο. Το 960.gs παρέχει μια σειρά από στήλες, γραμμένες σε CSS, που διευκολύνουν την τοποθέτηση ιστοσελίδων. Κατεβάστε τα αρχεία, προσθέστε τα στον ιστότοπό σας και είναι έτοιμο να το μεταφέρετε. Δεν χρειάζονται ειδικά πρόσθετα ή νέα τεχνολογία και μπορείτε να τα χρησιμοποιήσετε σε συνδυασμό με άλλα αρχεία CSS. Οι στήλες περιέχονται σε μπλοκ που ονομάζονται (φυσικά) "δοχεία". Οι προεπιλογές είναι Το παραπάνω διάγραμμα δείχνει τα δύο προεπιλεγμένα δοχεία με 12 και 16 στήλες. Το γκρι δεν θα είναι ορατό στον τελικό ιστότοπό σας, φυσικά. Οι στήλες απλώς δείχνουν πού μπορούν να τοποθετηθούν μπλοκ, που ονομάζονται "πλέγματα". Ένα πλέγμα είναι ένα μπλοκ περιεχομένου που μπορεί να διασχίσει περισσότερες από μία στήλες σε ένα δοχείο. Τα πλέγματα πλέουν αριστερά λόγω της κατοχής τους Πάνω από, Πάνω από, Η αλλαγή μεγέθους των πλεγμάτων στα οποία προσαρμόζονται τα στοιχεία του περιεχομένου είναι απλή: αλλάξτε το Η επίσημη ιστοσελίδα 960.gs προβάλλει ιστότοπους που χτίστηκαν στο πλαίσιο και παρέχει επίσης πρότυπα σελίδων, συνδέσμους σε μια γεννήτρια γενικού δικτύου και το ίδιο το πλαίσιο. Περιλαμβάνονται επίσης λεπτομερείς οδηγίες, επειδή υπάρχουν περισσότερα για μάθηση. Τα περιθώρια πλέγματος και η δυνατότητα να μπαίνουν σε υδρορροές μεταξύ των πλεγμάτων κάνουν το σύστημα ακόμα πιο ευέλικτο. Παρά τα οφέλη αυτά, ενσωμάτωση Η συζήτηση με τα τραπέζια για τη διάταξη είναι αρκετά εύκολη. Αλλά χρησιμοποιώντας τρία ή περισσότερα επίπεδα ένθετων divs δεν λύνει το πρόβλημα - αντικαθιστά απλά ένα σύνολο ετικετών με ένα άλλο. Τα πλαίσια βοηθούν αλλά δεν επιλύουν πάντα το δίλημμα. Με λίγη προοπτική, πολλά από αυτά τα προβλήματα μπορούν να αποφευχθούν. Η απλούστερη λύση για τον υπερβολικό κώδικα CSS είναι να αποκοπεί αυτό που δεν είναι απαραίτητο. Το 960.gs σχεδιάστηκε ως εργαλείο συρματοκάλυψης, το οποίο προοριζόταν να αντικατασταθεί όταν ο ιστότοπος ζωντανεύει. Περιλαμβάνει περισσότερους από 180 ορισμούς κλάσης. Εάν το σχέδιό σας είναι δομημένο, ας πούμε, ο Είναι απλό CSS, Παρακάτω, η εφαρμογή του πλέγματος στα στοιχεία λίστας δημιουργεί ακόμη και στήλες, με ελάχιστες αλλαγές στο HTML. Το CSS μετατρέπει την παραπάνω λίστα σε ομάδα πολλαπλών στηλών. Αν χρειάζεστε μια κανονική λίστα με σημεία με κουκκίδες, απλά απορρίψτε το Ενα άλλο παράδειγμα: First caption Another caption Αυτό τοποθετεί αυτόματα λεζάντες, που περικλείονται στις ετικέτες των παραγράφων, δίπλα στις φωτογραφίες. Όταν οι πίνακες δεν είναι κατάλληλοι, το εικονικό αποτέλεσμα είναι εύκολο να δημιουργηθεί με μη-πίνακες HTML. … … Το παραπάνω παράδειγμα είναι ένα πρόγραμμα γεγονότων στα οποία κάθε "κελί" στον πίνακα έχει μια διαφορετική ετικέτα για να αντικατοπτρίζει το μοναδικό του περιεχόμενο, παρά να έχει το catch-all Εφαρμογή Το Div-itis και η class-itis δεν περιορίζονται στα πλαίσια CSS. Όλα τα παραδείγματα στην τελευταία ενότητα μοιράζονται ένα ενδιαφέρον χαρακτηριστικό: μόνο μία δήλωση κλάσης σε κάθε μία. Όπου χρησιμοποιείται το ίδιο χαρακτηριστικό κλάσης αρκετές φορές στη σειρά στο HTML, αλλάξτε τον γονέα αντί για τα παιδιά. Περιττός: Πάνω, και τα έξι στοιχεία έχουν τάξη. Είναι περιττές επειδή τα μαθήματα είναι πανομοιότυπα. Εδώ είναι ένας καλύτερος τρόπος: Η θεραπεία εδώ για το class-itis είναι να ορίσετε μια μοναδική κλάση στο γονικό στοιχείο. Οι επιλογείς CSS κάνουν την εργασία, εφαρμόζοντας το στυλ σε κάθε … … … … … … Οι περισσότερες από τις παραπάνω παραγράφους είναι απλές παραγράφους και έχουν ακόμη άχρηστα χαρακτηριστικά κατηγορίας. Έχουμε επίσης δύο επικεφαλίδες, που διακρίνονται μόνο από τις τάξεις τους - αλλά παρακείμενες … … … … … … Τώρα παραμένουν μόνο δύο τάξεις. Διατηρήσαμε το Γενικά, τα ίδια στοιχεία με έναν κοινό γονέα δεν χρειάζονται επιπλέον χαρακτηριστικά. Οι τάξεις βοηθούν μόνο όταν υπάρχει διαφορά μεταξύ τους. Ένας κανόνας: χρησιμοποιήστε τάξεις μόνο όταν πρέπει να διακρίνετε μεταξύ διαφορετικών τύπων περιεχομένου πανομοιότυπων. Σκοπός του συστήματος 960 Grid System και CSS γενικότερα είναι να μειώσει την προσπάθεια που απαιτείται για την διαμόρφωση ιστοσελίδων. Το πλεονέκτημα του CSS είναι ότι μειώνει το ποσό HTML που απαιτείται για την εμφάνιση μιας σελίδας. Αλλά ως γλώσσα διαμόρφωσης, Το CSS δεν είναι τέλειο . Τα πλαίσια είναι απλώς εργαλεία που βοηθούν τους ανθρώπους να επιτύχουν λύσεις και όχι τις ίδιες τις λύσεις. Εναπόκειται στους σχεδιαστές και προγραμματιστές να καταπολεμήσουν την τάξη-itis και div-itis. Γράφτηκε αποκλειστικά για το Webdesigner Depot από Ο Ben Gremillion . Ο Ben είναι ανεξάρτητος σχεδιαστής ιστοσελίδων που επιλύει προβλήματα επικοινωνίας με καλύτερο σχεδιασμό. Πώς λέτε περισσότερα με λιγότερα; Μοιραστείτε πώς εξορθολογίζετε τον κώδικα και τη ροή εργασίας σας στα παρακάτω σχόλια ... class
χαρακτηριστικά, ειδικά σε περίπλοκες σελίδες. Είναι πραγματικά μια βελτίωση σε σχέση με τα ένθετα τραπέζια; Η διάδοση της τάξης-itis και Div-itis
πάνω από
είναι ότι καταλήγουμε με λιγότερο κώδικα για να κάνουμε την ίδια δουλειά. Αλλά τώρα οι σχεδιαστές αντιμετωπίζουν ένα γκρεμό των τάξεων και divs. … Μια καταγραφή των 960.gs
container_12
και container_16
, οι οποίες χωρίζονται σε 12 και 16 στήλες, αντίστοιχα. Τα προσαρμοσμένα μεγέθη είναι διαθέσιμα. .container_x
, καθιστώντας τα ιδανικά για αρθρωτές διατάξεις. Το πλάτος κάθε μπλοκ καθορίζεται από το πλέγμα που εφαρμόζετε σε αυτό: grid_1
είναι πλάτος μιας στήλης, grid_5
είναι πλάτος πέντε στηλών κλπ. .container_12
διαθέτει τρία πλέγματα. Κάθε πλέγμα, με τη σειρά του, θα περιέχει διαφορετικά στοιχεία του περιεχομένου της σελίδας. .container_16
περιέχει δύο τετράγωνα από 12 και 4 στήλες, αντίστοιχα. Αρέσει .container_12
, αυτή η διάταξη σε 16 στήλες έχει πλάτος 960 pixel, αλλά οι στήλες της είναι στενότερες. grid_x
σε κάθε διαίρεση.
σε
ενθαρρύνει τους κωδικοποιητές να χρησιμοποιούν πολλά χαρακτηριστικά κατηγορίας (class-itis) και divs (div-itis). Λύσεις
Χρησιμοποιείτε μόνο τις κλάσεις που χρειάζεστε πραγματικά
.container_12
και ποτέ δεν χρησιμοποιεί περισσότερο από .grid_5
και .grid_7
, στη συνέχεια, αφαιρέστε τα υπόλοιπα από το CSS. Εφαρμόστε το class = "grid_x" στα κατάλληλα στοιχεία: Headings, Images, Links, Paragraphs
.container_x
και .grid_x
Οι κλάσεις δεν περιορίζονται σε στοιχεία div. ο class attribute μπορεί να εφαρμοστεί σε οποιοδήποτε στοιχείο εκτός html
, head
, meta
, param
, script
, title
και style
- επίσης, σχεδόν οτιδήποτε στο body
. Αν ένα ζεύγος ετικετών div συνοδεύει μόνο ένα στοιχείο, τότε μπορεί να μην είναι απαραίτητο. Εφαρμογή του κώδικα δικτύου σε Non-Divs
Χρησιμοποιώντας divs Χρησιμοποιώντας σημασιολογικό κώδικα …
…
#"> ... ... ... #" class=grid_3> …
#" class="grid_3">…
…
…
…
…
…
#" class="grid_3">…
…
…
…
#" class="grid_3">…
…
…
…
#" class="grid_3">…
…
…
…
Δώστε ιδιότητες πλέγματος σε ορισμένα στοιχεία
.grid_x
έχει ιδιότητες που θα λειτουργούσαν με οποιοδήποτε άλλο όνομα κλάσης ή οποιοδήποτε στοιχείο. Αντιγράφοντας τις ιδιότητες σε ορισμένα στοιχεία, οι επιπλέον κλάσεις καθίστανται περιττές. .examples li { (properties of .grid_4) }
class="examples"
Χαρακτηριστικό. Είναι αυτό σημασιολογικό; Βεβαίως -όσο το περιεχόμενο αξίζει μια λίστα. Το CSS απλώς αλλάζει τον τρόπο με τον οποίο παρουσιάζεται κάθε σφαίρα. .photos p { (properties of .grid_10) }.photos img { (properties of .grid_6) }
.datelist { (properties of .container_12) }.datelist h3 { (properties of .grid_3) }.datelist p { (properties of .grid_7) }.datelist strong { (properties of .grid_1) }
subhead
subhead
ετικέτα. (Το ιδανικό; Ίσως όχι. Το HTML δεν κάνει διάκριση μεταξύ ομάδων περιεχομένου.) .grid_x
ιδιότητες σε άλλα στοιχεία απαιτεί κάποιο προγραμματισμό, αλλά οδηγεί σε λιγότερο γεμάτο HTML και δεν παρεμβαίνει στο ίδιο το 960.gs. Χρησιμοποιήστε τις κλάσεις σε γονικά αντικείμενα, όχι σε παιδικά αντικείμενα
.item { (various properties) }
.group-of-items li { (various properties) }
μεσα στην
.group-of-items
τάξη. Αυτή η μέθοδος μπορεί να χρησιμοποιηθεί σε οποιαδήποτε ομάδα στοιχείων με κοινό γονέα. Για παράδειγμα: …
…
.title { (various properties) }.subhead { (various properties) }.publication-date { (various properties) }.body-text { (various properties) }
τα στοιχεία δεν δημιουργούν καλή δομή περιεχομένου. Εδώ είναι μια καλύτερη λύση:
…
…
.article h1 { (various properties) }.article h2 { (various properties) }.article .publication-date { (various properties) }.article p { (various properties) }
.publication-date
για να το διακρίνει από τις κανονικές παραγράφους κάτω από αυτό. Επειδή το HTML δεν διαθέτει ετικέτα "ημερομηνίας", αυτή η κλάση είναι απαραίτητη για να δείξει ποια είναι η παράγραφος. Το νέο .article
class σας επιτρέπει να στυλ εκείνο το div και τα στοιχεία σε αυτό στο CSS με ελάχιστο mark-up. Το CSS και στα δύο παραδείγματα έχει τέσσερις ορισμούς το καθένα, και όμως καταλήγουμε με πολύ πιο καθαρό κώδικα στο δεύτερο. Απλοποιώ