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

1. Οριζόντια στοίχιση στο κέντρο του μπλοκ / σελίδας

1.1. Εάν το μπλοκ έχει πλάτος:

div (πλάτος: 300 εικονοστοιχεία, περιθώριο: 0 αυτόματα, /*κέντρωμα του στοιχείου οριζόντια εντός του γονικού μπλοκ*/ )

Εάν θέλετε να ευθυγραμμίσετε ένα ενσωματωμένο στοιχείο με αυτόν τον τρόπο, πρέπει να το ρυθμίσετε ώστε να εμφανίζεται: μπλοκ;

1.2. Εάν ένα μπλοκ είναι ένθετο σε ένα άλλο μπλοκ και δεν έχει οριστεί κανένα πλάτος για αυτό:

.wrapper(text-align:center;)

1.3. Εάν το μπλοκ έχει πλάτος και πρέπει να στερεωθεί στο κέντρο του γονικού μπλοκ:

.wrapper (θέση: σχετική; /*ρυθμίστε το γονικό πλαίσιο στη σχετική θέση, ώστε να μπορούμε να τοποθετήσουμε απολύτως το πλαίσιο μέσα σε αυτό αργότερα*/) .box (πλάτος: 400 εικονοστοιχεία; θέση: απόλυτο; αριστερά: 50%; περιθώριο-αριστερό: - 200 px; / *μετατόπιση του μπλοκ προς τα αριστερά κατά μια απόσταση ίση με το μισό του πλάτους του*/ )

1.4. Εάν δεν έχει οριστεί πλάτος για μπλοκ, μπορείτε να κεντράρετε χρησιμοποιώντας το γονικό μπλοκ περιτυλίγματος:

.wrapper (text-align: center; /*κεντράρετε το περιεχόμενο του μπλοκ*/) εσοχή μεταξύ των μπλοκ*/ )

2. Κάθετη ευθυγράμμιση

2.1. Εάν το κείμενο καταλαμβάνει μία γραμμή, για παράδειγμα, για κουμπιά και στοιχεία μενού:

.button (ύψος: 50 εικονοστοιχεία, ύψος γραμμής: 50 εικονοστοιχεία; )

2.2. Για να ευθυγραμμίσετε ένα μπλοκ κατακόρυφα μέσα στο γονικό μπλοκ:

.wrapper (θέση: σχετική

2.3. Κατακόρυφη στοίχιση ανά τύπο πίνακα:

.wrapper ( οθόνη: πίνακας, πλάτος: 100%; ) .box ( εμφάνιση: κελί πίνακα; ύψος: 100 εικονοστοιχεία, στοίχιση κειμένου: κέντρο, κατακόρυφη στοίχιση: μέση; )

2.4. Εάν το πλαίσιο έχει οριστεί πλάτος και ύψος και πρέπει να κεντραριστεί στο γονικό πλαίσιο:

.wrapper ( θέση: σχετική; ) .box ( ύψος: 100 εικονοστοιχεία; πλάτος: 100 εικονοστοιχεία; θέση: απόλυτη; επάνω: 0; δεξιά: 0; κάτω: 0; αριστερά: 0; περιθώριο: αυτόματη; υπερχείλιση: αυτόματη; /* έως το περιεχόμενο δεν διαδόθηκε */ )

2.5. Απόλυτη τοποθέτηση στο κέντρο της σελίδας/μπλοκ με χρήση μετασχηματισμού CSS3:

εάν το στοιχείο έχει διαστάσεις

div ( πλάτος: 300 px; /*ορίστε το πλάτος του μπλοκ*/ ύψος:100 px; /*ορίστε το ύψος του μπλοκ*/ μετασχηματισμός: translate(-50%, -50%); θέση: απόλυτη; επάνω: 50%; αριστερά: 50% ;)

εάν το στοιχείο δεν έχει διαστάσεις και δεν είναι κενό

Κάποιο κείμενο εδώ

h1 ( περιθώριο: 0; μετασχηματισμός: translate (-50%, -50%); θέση: απόλυτη; επάνω: 50%; αριστερά: 50%; )

Πολύ συχνά η εργασία είναι η ευθυγράμμιση του μπλοκ στο κέντρο της σελίδας/οθόνης, ακόμη και έτσι χωρίς σενάριο java, χωρίς καθορισμό σκληρών μεγεθών ή αρνητικών εσοχών, έτσι ώστε οι γραμμές κύλισης να λειτουργούν στον γονέα εάν το μπλοκ υπερβαίνει το μέγεθός του. Υπάρχουν πολλά μονότονα παραδείγματα στο δίκτυο για το πώς να ευθυγραμμίσετε ένα μπλοκ στο κέντρο της οθόνης. Κατά κανόνα, τα περισσότερα από αυτά βασίζονται στις ίδιες αρχές.

Παρακάτω είναι οι κύριοι τρόποι επίλυσης του προβλήματος, τα πλεονεκτήματα και τα μειονεκτήματά τους. Για να κατανοήσετε την ουσία των παραδειγμάτων, συνιστώ να μειώσετε το ύψος / το πλάτος του παραθύρου Αποτέλεσμα στα παραδείγματα στους συνδέσμους που υποδεικνύονται.

Επιλογή 1. Αρνητική επένδυση.

Τοποθέτηση ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟπάνω και αριστερά χαρακτηριστικά κατά 50%, και γνωρίζοντας εκ των προτέρων το ύψος και το πλάτος του μπλοκ, ορίστε ένα αρνητικό περιθώριο, το οποίο είναι ίσο με το μισό μέγεθος ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ. Τεράστιο μείον αυτή την επιλογήείναι ότι πρέπει να μετρήσετε αρνητικές εσοχές. Τον ίδιο τρόπο ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟδεν συμπεριφέρεται σωστά στο περιβάλλον των γραμμών κύλισης - απλώς κόβεται επειδή έχει αρνητικές εσοχές.

Γονικός ( πλάτος: 100%; ύψος: 100%, θέση: απόλυτη; επάνω: 0; αριστερά: 0; υπερχείλιση: αυτόματη; ) .block ( πλάτος: 250 px; ύψος: 250 px; θέση: απόλυτο; επάνω: 50%, αριστερά : 50%; περιθώριο: -125 εικονοστοιχεία 0 0 -125 εικονοστοιχεία; img (μέγ. πλάτος: 100%; ύψος: αυτόματη; οθόνη: μπλοκ; περιθώριο: 0 αυτόματο; περίγραμμα: κανένα; ) )

Επιλογή 2: Αυτόματη εσοχή.

Λιγότερο κοινό, αλλά παρόμοιο με το πρώτο. Για ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟορίστε το πλάτος και το ύψος, τοποθετήστε τα χαρακτηριστικά πάνω δεξιά κάτω αριστερά σε 0 και ορίστε το αυτόματο περιθώριο. Το πλεονέκτημα αυτής της επιλογής είναι οι λειτουργικές γραμμές κύλισης μητρική εταιρεία, εάν το τελευταίο έχει 100% πλάτος και ύψος. Το μειονέκτημα αυτής της μεθόδου είναι το άκαμπτο μέγεθος.

Γονικό ( πλάτος: 100%; ύψος: 100%, θέση: απόλυτη; επάνω: 0; αριστερά: 0; υπερχείλιση: αυτόματη; ) .block (πλάτος: 250 px; ύψος: 250 px; θέση: απόλυτη; επάνω: 0; δεξιά: 0; κάτω: 0; αριστερά: 0; περιθώριο: αυτόματο; img (μέγιστο πλάτος: 100%; ύψος: αυτόματο; οθόνη: μπλοκ; περιθώριο: 0 αυτόματο; περίγραμμα: κανένα; ) )

Επιλογή 3. Πίνακας.

Ρωτάμε μητρική εταιρείαστυλ πίνακα, κελί μητρική εταιρείαΡυθμίστε τη στοίχιση κειμένου στο κέντρο. ΑΛΛΑ συνασπισμόςορίστε το μοντέλο του ενσωματωμένου μπλοκ. Τα μειονεκτήματα δεν είναι οι λειτουργικές γραμμές κύλισης, και γενικά, όχι η αισθητική της «εξομοίωσης» του πίνακα.

Γονικός ( πλάτος: 100%; ύψος: 100%; οθόνη: πίνακας; θέση: απόλυτη; επάνω: 0; αριστερά: 0; > .inner ( οθόνη: πίνακας-κελί; στοίχιση κειμένου: κέντρο; κατακόρυφη στοίχιση: μέση; ) ) .block ( display: inline-block; img ( display: block; περίγραμμα: κανένα; ) )

Για να προσθέσετε μια κύλιση σε αυτό το παράδειγμα, θα πρέπει να προσθέσετε ένα ακόμη στοιχείο στη δομή.
Παράδειγμα: jsfiddle.net/serdidg/fk5nqh52/3 .

Επιλογή 4. Ψευδοστοιχείο.

Αυτή η επιλογή δεν περιέχει όλα τα προβλήματα που αναφέρονται στις προηγούμενες μεθόδους και επιλύει επίσης τις αρχικές εργασίες. Το θέμα είναι να έχεις μητρική εταιρείασετ στυλ ψευδοστοιχείοπριν, δηλαδή 100% ύψος, ευθυγράμμιση στο κέντρο και ενσωματωμένο μοντέλο κουτιού. Το ίδιο με ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟβάλτε το μοντέλο του ενσωματωμένου μπλοκ, στοίχιση στο κέντρο. Προς την ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟδεν έπεσε κάτω ψευδοστοιχείοόταν οι διαστάσεις του πρώτου είναι μεγαλύτερες από μητρική εταιρεία, προσδιορίστε μητρική εταιρείαλευκό διάστημα: nowrap και μέγεθος γραμματοσειράς: 0 μετά από το οποίο y ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟακυρώστε αυτά τα στυλ με το εξής - κενό διάστημα: κανονικό. ΣΤΟ αυτό το παράδειγμαμέγεθος γραμματοσειράς: Απαιτείται 0 για να αφαιρεθεί το κενό που προκύπτει μητρική εταιρείακαι ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟσε σχέση με τη μορφοποίηση κώδικα. Το κενό μπορεί να αφαιρεθεί με άλλους τρόπους, αλλά θεωρείται καλύτερο απλά να μην το επιτρέψετε.

Γονικός (πλάτος: 100%; ύψος: 100%, θέση: απόλυτο; επάνω: 0; αριστερά: 0; υπερχείλιση: αυτόματη; λευκό διάστημα: nowrap; στοίχιση κειμένου: κέντρο; μέγεθος γραμματοσειράς: 0; &:πριν ( ύψος: 100%, οθόνη: ενσωματωμένο μπλοκ, κατακόρυφη στοίχιση: μέση, περιεχόμενο: ""; ) ) .block ( οθόνη: ενσωματωμένο μπλοκ; λευκό διάστημα: κανονικό, κατακόρυφη στοίχιση: μέση, στοίχιση κειμένου: αριστερά ; img ( εμφάνιση: μπλοκ, περίγραμμα: κανένα; ) )

Ή, εάν θέλετε ο γονέας να καταλαμβάνει μόνο το ύψος και το πλάτος του παραθύρου, όχι ολόκληρη τη σελίδα:

Γονικός (θέση: σταθερό; επάνω: 0; δεξιά: 0; κάτω: 0; αριστερά: 0; υπερχείλιση: αυτόματο; κενό διάστημα: nowrap; στοίχιση κειμένου: κέντρο; μέγεθος γραμματοσειράς: 0; &:πριν (ύψος: 100%; οθόνη: inline-block; κατακόρυφη στοίχιση: μέση; περιεχόμενο: ""; ) ) .block ( εμφάνιση: inline-block; λευκό διάστημα: κανονικό; κατακόρυφη στοίχιση: μέση; στοίχιση κειμένου: αριστερά; img ( οθόνη: μπλοκ, περίγραμμα: κανένα; ) )

Επιλογή 5. Flexbox.

Ένας από τους απλούστερους και πιο κομψούς τρόπους είναι να χρησιμοποιήσετε το flexbox. Δεν απαιτεί περιττές κινήσεις του σώματος, περιγράφει την ουσία αυτού που συμβαίνει αρκετά ξεκάθαρα και έχει υψηλή ευελιξία. Το μόνο πράγμα που πρέπει να θυμάστε όταν επιλέγετε αυτή τη μέθοδο- υποστήριξη για IE από την έκδοση 10 συμπεριλαμβανομένης. caniuse.com/#feat=flexbox

Γονικός ( πλάτος: 100%; ύψος: 100%, θέση: σταθερό; επάνω: 0; αριστερά: 0; οθόνη: flex; στοίχιση-στοιχεία: κέντρο; στοίχιση-περιεχόμενο: κέντρο; δικαιολογητικό-περιεχόμενο: κέντρο; υπερχείλιση: αυτόματη; ) .block ( φόντο: #60a839; img ( εμφάνιση: μπλοκ; περίγραμμα: κανένα; ) )

Επιλογή 6. Μετασχηματισμός.

Κατάλληλο αν περιοριζόμαστε από τη δομή και δεν υπάρχει τρόπος χειραγώγησης γονικό στοιχείο, και το μπλοκ πρέπει να ευθυγραμμιστεί με κάποιο τρόπο. Η συνάρτηση translate() css θα έρθει στη διάσωση. Με αξία 50% απόλυτη τοποθέτησηθα τοποθετήσει την επάνω αριστερή γωνία του πλαισίου ακριβώς στο κέντρο και, στη συνέχεια, μια αρνητική τιμή μετάφρασης θα μετακινήσει το πλαίσιο σε σχέση με τις δικές του διαστάσεις. Λάβετε υπόψη ότι τα αρνητικά εφέ μπορεί να εμφανιστούν με τη μορφή θολών άκρων ή στυλ γραμματοσειράς. Επίσης, μια παρόμοια μέθοδος μπορεί να οδηγήσει σε προβλήματα με τον υπολογισμό της θέσης του μπλοκ χρησιμοποιώντας java-script "a. Μερικές φορές, για να αντισταθμιστεί η απώλεια του 50% του πλάτους λόγω χρήση cssη αριστερή ιδιότητα μπορεί να βοηθηθεί από τον κανόνα που έχει οριστεί για το μπλοκ: margin-right: -50%; .

Γονικό (πλάτος: 100%; ύψος: 100%, θέση: σταθερό; επάνω: 0; αριστερά: 0; υπερχείλιση: αυτόματη; ) .block (θέση: απόλυτη; επάνω: 50%; αριστερά: 50%; μετατροπή: μετάφραση( -50%, -50%); img ( εμφάνιση: μπλοκ; ) )

Επιλογή 7. Κουμπί.

Επιλογή χρήστη όπου ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟτυλιγμένο σε ετικέτα κουμπιού. Το κουμπί έχει τη δυνατότητα να κεντράρει όλα όσα βρίσκονται μέσα του, δηλαδή τα στοιχεία του μοντέλου inline και block-line (inline-block). Δεν το προτείνω στην πράξη.

Γονικός ( πλάτος: 100%; ύψος: 100%, θέση: απόλυτη; επάνω: 0; αριστερά: 0; υπερχείλιση: αυτόματη; φόντο: κανένα; περίγραμμα: κανένα; περίγραμμα: κανένα; ) .block ( οθόνη: ενσωματωμένο μπλοκ; img (εμφάνιση: μπλοκ;; περίγραμμα: κανένα; ) )

Δώρο

Χρησιμοποιώντας την ιδέα της 4ης επιλογής, μπορείτε να ορίσετε περιθώρια για ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ, και ταυτόχρονα το τελευταίο θα εμφανίζεται επαρκώς στο περιβάλλον των γραμμών κύλισης.
Παράδειγμα: jsfiddle.net/serdidg/nfqg9rza/2 .

Μπορείτε επίσης να ευθυγραμμίσετε την εικόνα στο κέντρο και εάν η εικόνα είναι μεγαλύτερη μητρική εταιρεία, κλιμακώστε το σε μέγεθος μητρική εταιρεία.
Παράδειγμα: jsfiddle.net/serdidg/nfqg9rza/3 .
Παράδειγμα μεγάλης εικόνας:

Βλαντ Μέρζεβιτς

Λόγω του γεγονότος ότι τα περιεχόμενα των κελιών του πίνακα μπορούν να ευθυγραμμιστούν ταυτόχρονα οριζόντια και κάθετα, επεκτείνονται οι δυνατότητες ελέγχου της θέσης των στοιχείων μεταξύ τους. Οι πίνακες σάς επιτρέπουν να ορίσετε τη στοίχιση των εικόνων, του κειμένου, των πεδίων φόρμας και άλλων στοιχείων σε σχέση μεταξύ τους και με την ιστοσελίδα στο σύνολό της. Γενικά, η ευθυγράμμιση είναι κυρίως απαραίτητη για τη δημιουργία οπτικής σύνδεσης μεταξύ διαφορετικών στοιχείων, καθώς και για την ομαδοποίησή τους.

Κάθετο κεντράρισμα

Ένας τρόπος για να δείξετε στον επισκέπτη την εστίαση και τον τίτλο του ιστότοπου είναι να χρησιμοποιήσετε μια σελίδα splash. Αυτή είναι η πρώτη σελίδα, στην οποία, κατά κανόνα, υπάρχει μια εισαγωγή flash ή μια εικόνα που εκφράζει την κύρια ιδέα του ιστότοπου. Η εικόνα είναι επίσης ένας σύνδεσμος προς άλλες ενότητες του ιστότοπου. Απαιτείται η τοποθέτηση αυτής της εικόνας στο κέντρο του παραθύρου του προγράμματος περιήγησης, ανεξάρτητα από την ανάλυση της οθόνης. Για το σκοπό αυτό, μπορείτε να χρησιμοποιήσετε ένα τραπέζι με πλάτος και ύψος ίσο με 100% (παράδειγμα 1).

Παράδειγμα 1: Κεντράρισμα εικόνας

ευθυγραμμία

Σε αυτό το παράδειγμα, η οριζόντια στοίχιση ορίζεται χρησιμοποιώντας την παράμετρο ετικέτας align="center". , και τα περιεχόμενα του κελιού δεν χρειάζεται να είναι κεντραρισμένα κατακόρυφα, καθώς αυτή η θέση έχει οριστεί από προεπιλογή.

Για να ορίσετε το ύψος του τραπεζιού στο 100%, αφαιρέστε, ο κωδικός δεν είναι πλέον έγκυρος.

Η χρήση του πλάτους και του ύψους για ολόκληρη τη διαθέσιμη περιοχή της ιστοσελίδας διασφαλίζει ότι τα περιεχόμενα του πίνακα θα ευθυγραμμιστούν αυστηρά στο κέντρο του παραθύρου του προγράμματος περιήγησης, ανεξάρτητα από το μέγεθός του.

Οριζόντια ευθυγράμμιση

Συνδυάζοντας τα χαρακτηριστικά align (οριζόντια στοίχιση) και valign ( κατακόρυφη στοίχιση) ετικέτα , επιτρέπεται η ρύθμιση πολλών τύπων θέσεων στοιχείων μεταξύ τους. Στο σχ. Το 1 δείχνει πώς να ευθυγραμμίσετε τα στοιχεία οριζόντια.

Ας δούμε μερικά παραδείγματα στοίχισης κειμένου σύμφωνα με το παρακάτω σχήμα.

Ευθυγράμμιση από πάνω

Για να καθορίσετε τη στοίχιση των περιεχομένων των κελιών στην κορυφή, για την ετικέτα απαιτείται να ορίσετε το χαρακτηριστικό valign με την τιμή επάνω (παράδειγμα 2).

Παράδειγμα 2: Χρήση valign

ευθυγραμμία

Στήλη 1 Στήλη 2

Σε αυτό το παράδειγμα, τα χαρακτηριστικά κελιών ελέγχονται χρησιμοποιώντας παραμέτρους ετικέτας , αλλά είναι επίσης πιο βολικό να αλλάζετε μέσα από στυλ. Συγκεκριμένα, η στοίχιση κελιών καθορίζεται από τις ιδιότητες κάθετης στοίχισης και στοίχισης κειμένου (παράδειγμα 3).

Παράδειγμα 3: Εφαρμογή στυλ για στοίχιση

ευθυγραμμία

Στήλη 1 Στήλη 2

Για να συντομεύσει τον κώδικα, αυτό το παράδειγμα χρησιμοποιεί ομαδοποίηση επιλογέα επειδή οι ιδιότητες κατακόρυφης στοίχισης και συμπλήρωσης εφαρμόζονται σε δύο κελιά ταυτόχρονα.

Η στοίχιση από κάτω γίνεται με τον ίδιο τρόπο, αλλά χρησιμοποιείται κάτω αντί για πάνω.

Στοίχιση στο κέντρο

Από προεπιλογή, τα περιεχόμενα ενός κελιού είναι ευθυγραμμισμένα στο κέντρο του κατακόρυφου τους, επομένως σε περίπτωση διαφορετικών υψών στηλών, απαιτείται η ρύθμιση της στοίχισης στην κορυφή. Μερικές φορές χρειάζεται ακόμα να αφήσετε την αρχική μέθοδο ευθυγράμμισης, για παράδειγμα, κατά την τοποθέτηση τύπων, όπως φαίνεται στην Εικ. 2.

Σε αυτήν την περίπτωση, ο τύπος βρίσκεται αυστηρά στο κέντρο του παραθύρου του προγράμματος περιήγησης και ο αριθμός του βρίσκεται στη δεξιά άκρη. Για μια τέτοια διάταξη στοιχείων, χρειάζεστε έναν πίνακα με τρία κελιά. Τα εξωτερικά κελιά πρέπει να έχουν το ίδιο μέγεθος, στο μεσαίο κελί η ευθυγράμμιση γίνεται στο κέντρο και στο δεξί κελί - στη δεξιά άκρη (παράδειγμα 4). Αυτός ο αριθμός κελιών απαιτείται για να διασφαλιστεί ότι ο τύπος είναι κεντραρισμένος.

Παράδειγμα 4: Ευθυγράμμιση τύπου

ευθυγραμμία

(18.6)

Σε αυτό το παράδειγμα, το πρώτο κελί του πίνακα παραμένει κενό, χρησιμεύει μόνο για τη δημιουργία μιας εσοχής, η οποία, παρεμπιπτόντως, μπορεί επίσης να οριστεί χρησιμοποιώντας στυλ.

Ευθυγράμμιση στοιχείων φόρμας

Οι πίνακες είναι χρήσιμοι για την τοποθέτηση πεδίων φόρμας, ειδικά όταν είναι διάσπαρτοι με κείμενο. Μία από τις επιλογές σχεδίασης για τη φόρμα, η οποία έχει σχεδιαστεί για να εισάγει ένα σχόλιο, φαίνεται στο Σχ. 3.

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

Παράδειγμα 5 Ευθυγράμμιση πεδίων φόρμας

ευθυγραμμία

Ονομα
ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Σχόλιο

Σε αυτό το παράδειγμα, το χαρακτηριστικό align="right" έχει προστεθεί για κελιά που απαιτούν σωστή στοίχιση. Προκειμένου η ετικέτα "Σχόλιο" να βρίσκεται στο επάνω περίγραμμα του κειμένου πολλών γραμμών, το αντίστοιχο κελί ρυθμίζεται σε στοίχιση από πάνω χρησιμοποιώντας το χαρακτηριστικό valign.

Πολύ συχνά η εργασία είναι η ευθυγράμμιση του μπλοκ στο κέντρο της σελίδας/οθόνης, ακόμη και έτσι χωρίς σενάριο java, χωρίς καθορισμό σκληρών μεγεθών ή αρνητικών εσοχών, έτσι ώστε οι γραμμές κύλισης να λειτουργούν στον γονέα εάν το μπλοκ υπερβαίνει το μέγεθός του. Υπάρχουν πολλά μονότονα παραδείγματα στο δίκτυο για το πώς να ευθυγραμμίσετε ένα μπλοκ στο κέντρο της οθόνης. Κατά κανόνα, τα περισσότερα από αυτά βασίζονται στις ίδιες αρχές.

Παρακάτω είναι οι κύριοι τρόποι επίλυσης του προβλήματος, τα πλεονεκτήματα και τα μειονεκτήματά τους. Για να κατανοήσετε την ουσία των παραδειγμάτων, συνιστώ να μειώσετε το ύψος / το πλάτος του παραθύρου Αποτέλεσμα στα παραδείγματα στους συνδέσμους που υποδεικνύονται.

Επιλογή 1. Αρνητική επένδυση.

Τοποθέτηση ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟπάνω και αριστερά χαρακτηριστικά κατά 50%, και γνωρίζοντας εκ των προτέρων το ύψος και το πλάτος του μπλοκ, ορίστε ένα αρνητικό περιθώριο, το οποίο είναι ίσο με το μισό μέγεθος ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ. Ένα τεράστιο μειονέκτημα αυτής της επιλογής είναι ότι πρέπει να μετράτε αρνητικές εσοχές. Τον ίδιο τρόπο ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟδεν συμπεριφέρεται σωστά στο περιβάλλον των γραμμών κύλισης - απλώς κόβεται επειδή έχει αρνητικές εσοχές.

Γονικός ( πλάτος: 100%; ύψος: 100%, θέση: απόλυτη; επάνω: 0; αριστερά: 0; υπερχείλιση: αυτόματη; ) .block ( πλάτος: 250 px; ύψος: 250 px; θέση: απόλυτο; επάνω: 50%, αριστερά : 50%; περιθώριο: -125 εικονοστοιχεία 0 0 -125 εικονοστοιχεία; img (μέγ. πλάτος: 100%; ύψος: αυτόματη; οθόνη: μπλοκ; περιθώριο: 0 αυτόματο; περίγραμμα: κανένα; ) )

Επιλογή 2: Αυτόματη εσοχή.

Λιγότερο κοινό, αλλά παρόμοιο με το πρώτο. Για ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟορίστε το πλάτος και το ύψος, τοποθετήστε τα χαρακτηριστικά πάνω δεξιά κάτω αριστερά σε 0 και ορίστε το αυτόματο περιθώριο. Το πλεονέκτημα αυτής της επιλογής είναι οι λειτουργικές γραμμές κύλισης μητρική εταιρεία, εάν το τελευταίο έχει 100% πλάτος και ύψος. Το μειονέκτημα αυτής της μεθόδου είναι το άκαμπτο μέγεθος.

Γονικό ( πλάτος: 100%; ύψος: 100%, θέση: απόλυτη; επάνω: 0; αριστερά: 0; υπερχείλιση: αυτόματη; ) .block (πλάτος: 250 px; ύψος: 250 px; θέση: απόλυτη; επάνω: 0; δεξιά: 0; κάτω: 0; αριστερά: 0; περιθώριο: αυτόματο; img (μέγιστο πλάτος: 100%; ύψος: αυτόματο; οθόνη: μπλοκ; περιθώριο: 0 αυτόματο; περίγραμμα: κανένα; ) )

Επιλογή 3. Πίνακας.

Ρωτάμε μητρική εταιρείαστυλ πίνακα, κελί μητρική εταιρείαΡυθμίστε τη στοίχιση κειμένου στο κέντρο. ΑΛΛΑ συνασπισμόςορίστε το μοντέλο του ενσωματωμένου μπλοκ. Τα μειονεκτήματα δεν είναι οι λειτουργικές γραμμές κύλισης, και γενικά, όχι η αισθητική της «εξομοίωσης» του πίνακα.

Γονικός ( πλάτος: 100%; ύψος: 100%; οθόνη: πίνακας; θέση: απόλυτη; επάνω: 0; αριστερά: 0; > .inner ( οθόνη: πίνακας-κελί; στοίχιση κειμένου: κέντρο; κατακόρυφη στοίχιση: μέση; ) ) .block ( display: inline-block; img ( display: block; περίγραμμα: κανένα; ) )

Για να προσθέσετε μια κύλιση σε αυτό το παράδειγμα, θα πρέπει να προσθέσετε ένα ακόμη στοιχείο στη δομή.
Παράδειγμα: jsfiddle.net/serdidg/fk5nqh52/3 .

Επιλογή 4. Ψευδοστοιχείο.

Αυτή η επιλογή δεν περιέχει όλα τα προβλήματα που αναφέρονται στις προηγούμενες μεθόδους και επιλύει επίσης τις αρχικές εργασίες. Το θέμα είναι να έχεις μητρική εταιρείασετ στυλ ψευδοστοιχείοπριν, δηλαδή 100% ύψος, ευθυγράμμιση στο κέντρο και ενσωματωμένο μοντέλο κουτιού. Το ίδιο με ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟβάλτε το μοντέλο του ενσωματωμένου μπλοκ, στοίχιση στο κέντρο. Προς την ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟδεν έπεσε κάτω ψευδοστοιχείοόταν οι διαστάσεις του πρώτου είναι μεγαλύτερες από μητρική εταιρεία, προσδιορίστε μητρική εταιρείαλευκό διάστημα: nowrap και μέγεθος γραμματοσειράς: 0 μετά από το οποίο y ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟακυρώστε αυτά τα στυλ με το εξής - κενό διάστημα: κανονικό. Σε αυτό το παράδειγμα, απαιτείται μέγεθος γραμματοσειράς: 0 για να αφαιρεθεί το διάστημα που προκύπτει μητρική εταιρείακαι ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟσε σχέση με τη μορφοποίηση κώδικα. Το κενό μπορεί να αφαιρεθεί με άλλους τρόπους, αλλά θεωρείται καλύτερο απλά να μην το επιτρέψετε.

Γονικός (πλάτος: 100%; ύψος: 100%, θέση: απόλυτο; επάνω: 0; αριστερά: 0; υπερχείλιση: αυτόματη; λευκό διάστημα: nowrap; στοίχιση κειμένου: κέντρο; μέγεθος γραμματοσειράς: 0; &:πριν ( ύψος: 100%, οθόνη: ενσωματωμένο μπλοκ, κατακόρυφη στοίχιση: μέση, περιεχόμενο: ""; ) ) .block ( οθόνη: ενσωματωμένο μπλοκ; λευκό διάστημα: κανονικό, κατακόρυφη στοίχιση: μέση, στοίχιση κειμένου: αριστερά ; img ( εμφάνιση: μπλοκ, περίγραμμα: κανένα; ) )

Ή, εάν θέλετε ο γονέας να καταλαμβάνει μόνο το ύψος και το πλάτος του παραθύρου, όχι ολόκληρη τη σελίδα:

Γονικός (θέση: σταθερό; επάνω: 0; δεξιά: 0; κάτω: 0; αριστερά: 0; υπερχείλιση: αυτόματο; κενό διάστημα: nowrap; στοίχιση κειμένου: κέντρο; μέγεθος γραμματοσειράς: 0; &:πριν (ύψος: 100%; οθόνη: inline-block; κατακόρυφη στοίχιση: μέση; περιεχόμενο: ""; ) ) .block ( εμφάνιση: inline-block; λευκό διάστημα: κανονικό; κατακόρυφη στοίχιση: μέση; στοίχιση κειμένου: αριστερά; img ( οθόνη: μπλοκ, περίγραμμα: κανένα; ) )

Επιλογή 5. Flexbox.

Ένας από τους απλούστερους και πιο κομψούς τρόπους είναι να χρησιμοποιήσετε το flexbox. Δεν απαιτεί περιττές κινήσεις του σώματος, περιγράφει την ουσία αυτού που συμβαίνει αρκετά ξεκάθαρα και έχει υψηλή ευελιξία. Το μόνο πράγμα που πρέπει να θυμάστε όταν επιλέγετε αυτήν τη μέθοδο είναι η υποστήριξη για IE από την έκδοση 10 συμπεριλαμβανομένης. caniuse.com/#feat=flexbox

Γονικός ( πλάτος: 100%; ύψος: 100%, θέση: σταθερό; επάνω: 0; αριστερά: 0; οθόνη: flex; στοίχιση-στοιχεία: κέντρο; στοίχιση-περιεχόμενο: κέντρο; δικαιολογητικό-περιεχόμενο: κέντρο; υπερχείλιση: αυτόματη; ) .block ( φόντο: #60a839; img ( εμφάνιση: μπλοκ; περίγραμμα: κανένα; ) )

Επιλογή 6. Μετασχηματισμός.

Κατάλληλο εάν περιοριζόμαστε από τη δομή και δεν υπάρχει τρόπος χειρισμού του γονικού στοιχείου, αλλά το μπλοκ πρέπει να ευθυγραμμιστεί με κάποιο τρόπο. Η συνάρτηση translate() css θα έρθει στη διάσωση. Μια τιμή 50% απόλυτης θέσης θα τοποθετήσει την επάνω αριστερή γωνία του κουτιού ακριβώς στο κέντρο και, στη συνέχεια, μια αρνητική τιμή μετάφρασης θα μετακινήσει το πλαίσιο σε σχέση με τις δικές του διαστάσεις. Λάβετε υπόψη ότι τα αρνητικά εφέ μπορεί να εμφανιστούν με τη μορφή θολών άκρων ή στυλ γραμματοσειράς. Επίσης, μια παρόμοια μέθοδος μπορεί να οδηγήσει σε προβλήματα με τον υπολογισμό της θέσης του μπλοκ χρησιμοποιώντας java-script "a. Μερικές φορές, για να αντισταθμιστεί η απώλεια του 50% του πλάτους λόγω της χρήσης ιδιότητες cssαριστερά μπορεί να βοηθήσει τον κανόνα που έχει οριστεί στο μπλοκ: margin-right: -50%; .

Γονικό (πλάτος: 100%; ύψος: 100%, θέση: σταθερό; επάνω: 0; αριστερά: 0; υπερχείλιση: αυτόματη; ) .block (θέση: απόλυτη; επάνω: 50%; αριστερά: 50%; μετατροπή: μετάφραση( -50%, -50%); img ( εμφάνιση: μπλοκ; ) )

Επιλογή 7. Κουμπί.

Επιλογή azproduction χρήστη όπου ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟτυλιγμένο σε ετικέτα κουμπιού. Το κουμπί έχει τη δυνατότητα να κεντράρει όλα όσα βρίσκονται μέσα του, δηλαδή τα στοιχεία του μοντέλου inline και block-line (inline-block). Δεν το προτείνω στην πράξη.

Γονικός ( πλάτος: 100%; ύψος: 100%, θέση: απόλυτη; επάνω: 0; αριστερά: 0; υπερχείλιση: αυτόματη; φόντο: κανένα; περίγραμμα: κανένα; περίγραμμα: κανένα; ) .block ( οθόνη: ενσωματωμένο μπλοκ; img (εμφάνιση: μπλοκ;; περίγραμμα: κανένα; ) )

Δώρο

Χρησιμοποιώντας την ιδέα της 4ης επιλογής, μπορείτε να ορίσετε περιθώρια για ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ, και ταυτόχρονα το τελευταίο θα εμφανίζεται επαρκώς στο περιβάλλον των γραμμών κύλισης.
Παράδειγμα: jsfiddle.net/serdidg/nfqg9rza/2 .

Μπορείτε επίσης να ευθυγραμμίσετε την εικόνα στο κέντρο και εάν η εικόνα είναι μεγαλύτερη μητρική εταιρεία, κλιμακώστε το σε μέγεθος μητρική εταιρεία.
Παράδειγμα: jsfiddle.net/serdidg/nfqg9rza/3 .
Παράδειγμα μεγάλης εικόνας:

Υπάρχουν αρκετοί θεμελιωδώς διαφορετικοί τρόποι για να κεντράρετε ένα αντικείμενο κάθετα χρησιμοποιώντας CSS, ωστόσο, η δυσκολία μπορεί να είναι στην επιλογή του σωστού. Θα δούμε μερικά από αυτά και θα φτιάξουμε επίσης μια μικρή ιστοσελίδα χρησιμοποιώντας τις γνώσεις που αποκτήθηκαν.

Η κατακόρυφη στοίχιση στο κέντρο με το CSS δεν είναι τόσο εύκολο να επιτευχθεί. Υπάρχουν πολλοί τρόποι και δεν λειτουργούν όλοι σε όλα τα προγράμματα περιήγησης. Ας δούμε το 5 διάφορες μεθόδους, καθώς και «υπέρ» και «κατά» καθενός από αυτούς. Παράδειγμα.

1ος τρόπος

Αυτή η μέθοδος προϋποθέτει ότι ορίζουμε κάποιο στοιχείο

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

Μερικοί ΧΡΗΣΙΜΕΣ ΠΛΗΡΟΦΟΡΙΕΣ, το οποίο πρέπει να είναι κεντραρισμένο.
#wrapper( εμφάνιση: πίνακας; ) #κελί (εμφάνιση: πίνακας-κελί; κατακόρυφη στοίχιση: μέση; )

πλεονεκτήματα

  • Το περιεχόμενο μπορεί να αλλάζει ύψος δυναμικά (το ύψος δεν ορίζεται στο CSS).
  • Το περιεχόμενο δεν περικόπτεται εάν δεν υπάρχει αρκετός χώρος για αυτό.

Μειονεκτήματα

  • Δεν λειτουργεί σε IE 7 και παρακάτω
  • Πολλές ένθετες ετικέτες

2η μέθοδος

Αυτή η μέθοδος χρησιμοποιεί την απόλυτη τοποθέτηση του div , του οποίου η κορυφή έχει οριστεί στο 50% και το επάνω περιθώριο (margin-top) μείον το μισό ύψος του περιεχομένου. Αυτό σημαίνει ότι το αντικείμενο πρέπει να έχει ένα σταθερό ύψος, το οποίο ορίζεται σε στυλ CSS.

Δεδομένου ότι το ύψος είναι σταθερό, μπορείτε να ορίσετε υπερχείλιση:auto; για το div που περιέχει το περιεχόμενο, οπότε αν το περιεχόμενο δεν ταιριάζει, θα εμφανιστούν γραμμές κύλισης.

Περιεχόμενο εδώ
#content (θέση: απόλυτη; επάνω: 50%; ύψος: 240 px; margin-top: -120 px; /* μείον το μισό ύψος */ )

πλεονεκτήματα

  • Λειτουργεί σε όλα τα προγράμματα περιήγησης.
  • Χωρίς επιπλέον επένδυση.

Μειονεκτήματα

  • Όταν δεν υπάρχει αρκετός χώρος, το περιεχόμενο εξαφανίζεται (π.χ. το div βρίσκεται μέσα στο σώμα και ο χρήστης συρρικνώνει τα παράθυρα, οπότε οι γραμμές κύλισης δεν θα εμφανίζονται.

3η μέθοδος

Σε αυτή τη μέθοδο, θα τυλίξουμε το περιεχόμενο div με ένα άλλο div. Ρυθμίστε το ύψος του στο 50% (ύψος: 50%;) και το κάτω περιθώριο στο μισό του ύψους του (margin-bottom:-contentheight;). Το περιεχόμενο θα καθαρίσει το float και θα κεντραριστεί.

εδώ περιεχόμενο
#floater( float: αριστερά; ύψος: 50%; margin-bottom: -120 px; ) #content( clear: και τα δύο; ύψος: 240 px; θέση: σχετική; )

πλεονεκτήματα

  • Λειτουργεί σε όλα τα προγράμματα περιήγησης.
  • Όταν δεν υπάρχει αρκετός χώρος (για παράδειγμα, όταν το παράθυρο είναι μειωμένο) το περιεχόμενο δεν έχει αποκοπεί, θα εμφανιστούν γραμμές κύλισης.

Μειονεκτήματα

  • Νομίζω μόνο ένα: ότι χρησιμοποιείται ένα επιπλέον κενό στοιχείο.

4η μέθοδος.

Αυτή η μέθοδος χρησιμοποιεί τη θέση:απόλυτη ιδιότητα; για div με σταθερές διαστάσεις (πλάτος και ύψος). Στη συνέχεια ορίζουμε τις συντεταγμένες του στην κορυφή:0; bottom:0; , αλλά αφού έχει σταθερό ύψος, δεν μπορεί να τεντωθεί και είναι κεντραρισμένο. Αυτό μοιάζει πολύ με τη γνωστή μέθοδο οριζόντια ευθυγράμμισημε κέντρο σε ένα στοιχείο μπλοκ σταθερού πλάτους (περιθώριο: 0 αυτόματο;).

Σημαντικές πληροφορίες.
#content( θέση: απόλυτη; επάνω: 0; κάτω: 0; αριστερά: 0; δεξιά: 0; περιθώριο: αυτόματο; ύψος: 240 εικονοστοιχεία; πλάτος: 70%; )

πλεονεκτήματα

  • Πολύ απλό.

Μειονεκτήματα

  • Δεν λειτουργεί μέσα Internet Explorer
  • Το περιεχόμενο θα αποκοπεί χωρίς γραμμές κύλισης εάν δεν υπάρχει αρκετός χώρος στο κοντέινερ.

5η μέθοδος

Μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για να κεντράρετε μια γραμμή κειμένου. Απλώς ορίστε το ύψος του κειμένου (γραμμή-ύψος) στο ύψος του στοιχείου (ύψος). Μετά από αυτό, η γραμμή θα εμφανιστεί στο κέντρο.

Κάποια γραμμή κειμένου
#content( ύψος: 100 εικονοστοιχεία; ύψος γραμμής: 100 εικονοστοιχεία; )

πλεονεκτήματα

  • Λειτουργεί σε όλα τα προγράμματα περιήγησης.
  • Δεν κόβει κείμενο αν δεν ταιριάζει.

Μειονεκτήματα

  • Λειτουργεί μόνο με κείμενο (δεν λειτουργεί με στοιχεία μπλοκ).
  • Εάν υπάρχουν περισσότερες από μία γραμμές κειμένου, φαίνεται πολύ κακό.

Αυτή η μέθοδος είναι πολύ χρήσιμη για μικρά στοιχεία, όπως το κεντράρισμα του κειμένου σε ένα κουμπί ή πεδίο κειμένου.

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

Βήμα 1

Είναι πάντα καλό να ξεκινάμε με σημασιολογική σήμανση. Η σελίδα μας θα είναι δομημένη ως εξής:

  • #floater (για να κεντράρετε το περιεχόμενο)
  • #centred (κεντρικό στοιχείο)
    • #πλευρά
      • #λογότυπο
      • #nav (λίστα
      • #περιεχόμενο
    • #bottom (για πνευματικά δικαιώματα και όλα)

    Ας γράψουμε την ακόλουθη σήμανση html:

    Μια Επικεντρωμένη Εταιρεία

    Τίτλος σελίδας

    Ανασχεδιάστε ολιστικά την εξωτερική ανάθεση προστιθέμενης αξίας μετά από συνεργασία με επίκεντρο τη διαδικασία και την ανταλλαγή ιδεών. Απλοποιήστε ενεργειακά τις σημαντικές εξειδικευμένες αγορές μέσω ενεργοποιημένων επιταγών. Ολιστικά κυριαρχεί η premium καινοτομία μετά από συναρπαστικά σενάρια. Ανακεφαλαιώστε απρόσκοπτα τα υψηλά πρότυπα στο ανθρώπινο κεφάλαιο με κορυφαία κατασκευασμένα προϊόντα. Συνδυάστε ευδιάκριτα σχήματα συμβατά με πρότυπα πριν από ισχυρά vortals. Ανακεφαλαιώστε μοναδικά την ετοιμότητα μόχλευσης για τον ιστό σε σχέση με τις εκ των υστέρων πληροφορίες.

    Επικεφαλίδα 2

    Αγκαλιάστε αποτελεσματικά προσαρμοσμένη ετοιμότητα ιστού αντί για διαδικασίες που κατευθύνονται από τον πελάτη. Αναπτύξτε δυναμικά τις επιταγές μεταξύ πλατφορμών σε σχέση με τις προληπτικές τεχνολογίες. Ενισχύστε βολικά πολυεπιστημονικές μετα-υπηρεσίες χωρίς διεπαφές σε επίπεδο επιχείρησης. Εξορθολογίστε άνετα ανταγωνιστικές στρατηγικές θεματικές περιοχές με εστιασμένες ηλεκτρονικές αγορές. Φωσφοριζέ συνδικάτο κοινότητες παγκόσμιας κλάσης έναντι των αγορών προστιθέμενης αξίας. Ανακαλύψτε εκ νέου τις ολιστικές υπηρεσίες πριν από ισχυρές ηλεκτρονικές υπηρεσίες.

    Η ειδοποίηση πνευματικών δικαιωμάτων πηγαίνει εδώ

    Βήμα 2

    Τώρα θα γράψουμε απλό CSS, για να τοποθετήσετε στοιχεία στη σελίδα. Θα πρέπει να αποθηκεύσετε αυτόν τον κώδικα στο αρχείο style.css. Σε αυτό είναι γραμμένος ο σύνδεσμος στο αρχείο html.

    Html, body ( περιθώριο: 0; padding: 0; ύψος: 100%; ) body ( background: url("page_bg.jpg") 50% 50% no-repeat #FC3; γραμματοσειρά-οικογένεια: Georgia, Times, serifs; ) #floater ( θέση: σχετική; float: αριστερά; ύψος: 50%; περιθώριο-κάτω: -200 px; πλάτος: 1 px; ) #centred ( θέση: σχετική; σαφή: αριστερά; ύψος: 400 px; πλάτος: 80%; μέγ. -πλάτος: 800 εικονοστοιχεία; ελάχ. πλάτος: 400 εικονοστοιχεία, περιθώριο: 0 αυτόματο; φόντο: #fff; περίγραμμα: 4 εικονοστοιχεία συμπαγές #666; ) #κάτω (θέση: απόλυτη; κάτω: 0; δεξιά: 0; ) #nav ( θέση: απόλυτη; αριστερά: 0; επάνω: 0; κάτω: 0; δεξιά: 70%; συμπλήρωση: 20 εικονοστοιχεία; περιθώριο: 10 εικονοστοιχεία; ) #content (θέση: απόλυτη; αριστερά: 30%; δεξιά: 0; επάνω: 0; κάτω: 0, υπερχείλιση: αυτόματη, ύψος: 340 εικονοστοιχεία, επένδυση: 20 εικονοστοιχεία, περιθώριο: 10 εικονοστοιχεία, )

    Για να μπορέσουμε να κάνουμε το περιεχόμενό μας στοίχιση στο κέντρο, πρέπει να ορίσουμε τα ύψη σώματος και html στο 100%. Δεδομένου ότι το ύψος θεωρείται χωρίς εσωτερική και εξωτερική επένδυση (γεμίσματος και περιθωρίου), τα ορίσαμε (γεμίσματα) στο 0 ώστε να μην υπάρχουν γραμμές κύλισης.

    Η κάτω επένδυση για το στοιχείο "floater" είναι μείον το μισό ύψος του περιεχομένου (400 px), δηλαδή -200 px .

    Η σελίδα σας θα πρέπει τώρα να μοιάζει με αυτό:

    Το πλάτος του #κεντρικού στοιχείου είναι 80%. Αυτό κάνει τον ιστότοπό μας πιο στενό σε μικρές οθόνες και ευρύτερο σε μεγαλύτερες. Οι περισσότεροι ιστότοποι φαίνονται άσχημοι στις νέες ευρείες οθόνες στην επάνω αριστερή γωνία. Οι ιδιότητες min-width και max-width περιορίζουν επίσης τη σελίδα μας έτσι ώστε να μην φαίνεται πολύ ευρεία ή πολύ στενή. Ο Internet Explorer δεν υποστηρίζει αυτές τις ιδιότητες. Πρέπει να ρυθμιστεί σε ένα σταθερό πλάτος.

    Εφόσον το στοιχείο #centered έχει οριστεί σε position:relative , μπορούμε να χρησιμοποιήσουμε την απόλυτη τοποθέτηση των στοιχείων μέσα σε αυτό. Στη συνέχεια ορίστε υπερχείλιση:auto; για το στοιχείο #content έτσι ώστε να εμφανίζονται γραμμές κύλισης εάν δεν υπάρχει περιεχόμενο που να χωράει.

    Βήμα 3

    Και το τελευταίο πράγμα που θα κάνουμε είναι να προσθέσουμε λίγο στυλ για να κάνουμε τη σελίδα να φαίνεται λίγο πιο ελκυστική. Ας ξεκινήσουμε με το μενού.

    #nav ul ( στιλ λίστας: κανένα; συμπλήρωση: 0; περιθώριο: 20 εικονοστοιχεία 0 0 0; εσοχή κειμένου: 0; ) #nav li ( padding: 0; margin: 3px; ) #nav li a ( display: block; χρώμα φόντου: #e8e8e8, συμπλήρωση: 7 εικονοστοιχεία, περιθώριο: 0, κείμενο-διακόσμηση: κανένα, χρώμα: #000; κάτω περιγράμματος: 1 εικονοστοιχείο συμπαγές #bbb; στοίχιση κειμένου: δεξιά; ) #nav li a::after ( περιεχόμενο: """; χρώμα: #aaa; βάρος γραμματοσειράς: έντονη; εμφάνιση: ενσωματωμένη; αιώρηση: δεξιά; περιθώριο: 0 2px 0 5px; ) #nav li a:hover, #nav li a:focus ( φόντο: # f8f8f8; border-bottom-color: #777; ) #nav li a:hover::after ( περιθώριο: 0 0 0 7px; χρώμα: #f93; ) #nav li a:active ( padding: 8px 7px 6px 7px; )

    Το πρώτο πράγμα που κάναμε για να κάνουμε το μενού να φαίνεται καλύτερο ήταν να αφαιρέσουμε τις κουκκίδες ορίζοντας το χαρακτηριστικό list-style:none, και επίσης ορίσαμε το padding και padding, καθώς οι προεπιλογές διαφέρουν πολύ μεταξύ των προγραμμάτων περιήγησης.

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

    Ένα άλλο ενδιαφέρον πράγμα που χρησιμοποιήσαμε για τα μενού είναι τα ψευδοτάξεις :before και :after. Σας επιτρέπουν να προσθέσετε κάτι πριν και μετά από ένα στοιχείο. το καλός τρόποςπροσθέστε εικονίδια ή σύμβολα όπως ένα βέλος στο τέλος κάθε συνδέσμου. Αυτό το τέχνασμα δεν λειτουργεί στον Internet Explorer 7 και παρακάτω.

    Βήμα 4

    Και τέλος, αλλά όχι λιγότερο σημαντικό, θα προσθέσουμε μερικά πέπλα στο σχέδιό μας για ακόμα περισσότερη ομορφιά.

    #centred ( -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; ) h1, h2, h3, h4, h5, h6 ( font-family: Helvetica, Arial, sans- σερίφ; βάρος γραμματοσειράς: κανονικό; χρώμα: #666; ) h1 (χρώμα: #f93; περιθώριο-κάτω: 1 εικονοστοιχείο συμπαγές #ddd; διάστιχο: -0,05 εκ.; βάρος γραμματοσειράς: έντονη; περιθώριο-πάνω: 0; padding-top: 0; ) #bottom ( padding: 10px; font-size: 0.7em; color: #f03; ) #logo (font-size: 2em; text-align: center; color: #999; ) #logo ισχυρό ( βάρος γραμματοσειράς: κανονικό; ) #εύρος λογότυπου (εμφάνιση: μπλοκ; μέγεθος γραμματοσειράς: 4em; ύψος γραμμής: 0,7em; χρώμα: #666; ) p, h2, h3 (ύψος γραμμής: 1,6em; ) a (χρώμα: #f03;)

    Σε αυτά τα στυλ, ορίζουμε στρογγυλεμένες γωνίες για το #κεντραρισμένο στοιχείο. Στο CSS3, αυτό θα είναι υπεύθυνο ιδιοκτησίας ακτίνας συνόρων. Αυτό δεν έχει εφαρμοστεί ακόμη από ορισμένα προγράμματα περιήγησης, εκτός εάν χρησιμοποιείτε τα προθέματα -moz και -webkit για Mozilla Firefoxκαι Safari/Webkit.

    Συμβατότητα

    Όπως ίσως έχετε μαντέψει, η κύρια πηγή προβλημάτων συμβατότητας είναι ο Internet Explorer:

    • Το στοιχείο #floater πρέπει να οριστεί σε πλάτος
    • Επιπλέον συμπλήρωση γύρω από τα μενού στον IE 6

    237152 προβολές