Skip to main content

Τι είναι οι Προμηθευτές του Προμηθευτή CSS ή του Προγράμματος περιήγησης;

Προθέματα μεγεθών - Γενική Φυσική (Ιούνιος 2025)

Προθέματα μεγεθών - Γενική Φυσική (Ιούνιος 2025)
Anonim

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

Όταν το CCS3 εισήχθη για πρώτη φορά, μια σειρά από ενθουσιασμένες ιδιότητες άρχισαν να χτυπούν διαφορετικά προγράμματα περιήγησης σε διαφορετικές χρονικές στιγμές. Για παράδειγμα, τα προγράμματα περιήγησης Webkit (Safari και Chrome) ήταν τα πρώτα που εισήγαγαν ορισμένες από τις ιδιότητες του στυλ κινουμένων σχεδίων, όπως το μετασχηματισμό και τη μετάβαση. Χρησιμοποιώντας τις ιδιότητες των πωλητών, οι σχεδιαστές ιστοσελίδων μπόρεσαν να χρησιμοποιήσουν αυτά τα νέα χαρακτηριστικά στη δουλειά τους και να τα δουν στα προγράμματα περιήγησης που τα υποστήριζαν αμέσως, αντί να περιμένουν να φθάσουν όλοι οι άλλοι κατασκευαστές του προγράμματος περιήγησης!

Έτσι, από την οπτική γωνία ενός web developer front-end, τα προθέματα του προγράμματος περιήγησης χρησιμοποιούνται για να προσθέσουν νέες λειτουργίες CSS σε έναν ιστότοπο ενώ έχουν άνεση γνωρίζοντας ότι τα προγράμματα περιήγησης θα υποστηρίζουν αυτά τα στυλ. Αυτό μπορεί να είναι ιδιαίτερα χρήσιμο όταν διάφοροι κατασκευαστές προγραμμάτων περιήγησης εφαρμόζουν ιδιότητες με ελαφρώς διαφορετικούς τρόπους ή με διαφορετική σύνταξη.

Τα προθέματα του προγράμματος περιήγησης CSS που μπορείτε να χρησιμοποιήσετε (το καθένα από τα οποία είναι συγκεκριμένα σε διαφορετικό πρόγραμμα περιήγησης) είναι:

  • Android:

    -webkit-

  • Χρώμιο:

    -webkit-

  • Firefox:

    -moz-

  • Internet Explorer:

    -Κυρία-

  • iOS:

    -webkit-

  • ΛΥΡΙΚΗ ΣΚΗΝΗ:

    -Ο-

  • Σαφάρι:

    -webkit-

Στις περισσότερες περιπτώσεις, για να χρησιμοποιήσετε μια εντελώς νέα ιδιότητα στυλ CSS, παίρνετε την τυπική ιδιότητα CSS και προσθέτετε το πρόθεμα για κάθε πρόγραμμα περιήγησης. Οι προκαθορισμένες εκδόσεις θα έρχονταν πάντα στην πρώτη θέση (με οποιαδήποτε σειρά προτιμάτε) ενώ η κανονική ιδιότητα CSS θα έρθει τελευταία. Για παράδειγμα, εάν θέλετε να προσθέσετε μια μετάβαση CSS3 στο έγγραφό σας, θα χρησιμοποιούσατε το

μετάβαση

ιδιοκτησίας όπως φαίνεται παρακάτω:

-webkit- μετάβαση: όλα 4s ευκολία? -moz- μετάβαση: όλα 4s ευκολία? -Κυρία- μετάβαση: όλα 4s ευκολία? -Ο- μετάβαση: όλα 4s ευκολία?μετάβαση: όλα 4s ευκολία?

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

γραμμική κλίση

ιδιοκτησία. Το Firefox, το Opera και οι σύγχρονες εκδόσεις του Chrome και του Safari χρησιμοποιούν αυτήν την ιδιότητα με το κατάλληλο πρόθεμα, ενώ οι πρώτες εκδόσεις του Chrome και του Safari χρησιμοποιούν την προρυθμισμένη ιδιότητα

-βάθμιας κλίσης

. Επίσης, ο Firefox χρησιμοποιεί διαφορετικές τιμές από τις τυπικές.

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

Τα προθέματα προμηθευτών δεν είναι ένα hack

Όταν τα προθέματα πωλητών εισήχθησαν για πρώτη φορά, πολλοί επαγγελματίες του διαδικτύου αναρωτήθηκαν αν ήταν ένα hack ή μια στροφή πίσω στις σκοτεινές μέρες του τρυπώντας κώδικα ενός ιστοτόπου για να υποστηρίξει διαφορετικά προγράμματα περιήγησης (θυμηθείτε αυτά " Αυτός ο ιστότοπος παρουσιάζεται καλύτερα στο IE "μηνύματα.) Τα προθέματα προμηθευτών CSS δεν είναι hacks, ωστόσο, και δεν θα πρέπει να έχετε επιφυλάξεις σχετικά με τη χρήση τους στη δουλειά σας.

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

φωνή-οικογένεια

ή στον τρόπο με τον οποίο τα προγράμματα περιήγησης αναλύουν τους αναστροφέα (

). Αλλά αυτά τα hacks χρησιμοποιήθηκαν για να διορθώσουν το πρόβλημα της διαφοράς μεταξύ του τρόπου με τον οποίο ο Internet Explorer 5.5 χειρίστηκε το μοντέλο κουτιού και το πώς το ερμήνευσε το Netscape και δεν έχουν καμία σχέση με το στυλ οικογενειακής φωνής. Ευτυχώς, αυτά τα δύο ξεπερασμένα προγράμματα περιήγησης είναι αυτά που δεν έχουμε ανησυχίες οι ίδιοι με αυτές τις μέρες.

Το πρόθεμα ενός προμηθευτή δεν είναι hack, επειδή επιτρέπει στις προδιαγραφές να ορίσει κανόνες για τον τρόπο με τον οποίο μπορεί να υλοποιηθεί μια ιδιότητα, ενώ παράλληλα επιτρέπει στους κατασκευαστές περιηγητών να εφαρμόσουν μια ιδιότητα με διαφορετικό τρόπο χωρίς να σπάσουν τα πάντα. Επιπλέον, αυτά τα προθέματα συνεργάζονται με τις ιδιότητες του CSS θα αποτελέσει τελικά μέρος των προδιαγραφών . Προσθέτουμε απλώς κάποιο κωδικό για να πάρουμε πρόωρη πρόσβαση στην ιδιοκτησία. Αυτός είναι ένας ακόμα λόγος για τον οποίο τερματίζετε τον κανόνα CSS με την κανονική ιδιότητα μη προθέρμανσης. Με αυτόν τον τρόπο μπορείτε να αποθέσετε τις προρυθμισμένες εκδόσεις μόλις επιτευχθεί πλήρης υποστήριξη προγράμματος περιήγησης.

Θέλετε να μάθετε ποια είναι η υποστήριξη του προγράμματος περιήγησης για μια συγκεκριμένη λειτουργία; Ο ιστότοπος CanIUse.com είναι ένας υπέροχος πόρος για τη συγκέντρωση αυτών των πληροφοριών και για να σας ενημερώσουμε ποια προγράμματα περιήγησης και ποιες εκδόσεις αυτών των προγραμμάτων περιήγησης υποστηρίζουν αυτήν τη στιγμή μια λειτουργία.

Τα προθέματα προμηθευτών είναι ενοχλητικά αλλά προσωρινά

Ναι, μπορεί να αισθάνεται ενοχλητικό και επαναλαμβανόμενο να γράφει τις ιδιότητες 2-5 φορές για να το δουλέψει σε όλα τα προγράμματα περιήγησης, αλλά είναι μια προσωρινή κατάσταση. Για παράδειγμα, πριν από λίγα χρόνια, για να ορίσετε μια στρογγυλεμένη γωνία σε ένα κουτί, έπρεπε να γράψετε:

-moz-ακτίνα-ακτίνα: 10px 5px;-webkit-όριο-κορυφή-αριστερά-ακτίνα: 10px;-webkit-περιθώριο-κορυφή-δεξιά-ακτίνα: 5px;-webkit-περίγραμμα-κάτω-δεξιά-ακτίνα: 10px;-webkit-περίγραμμα-κάτω-αριστερά-ακτίνα: 5px;ακτίνα ακτίνας: 10px 5px;

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

ακτίνα ακτίνας: 10px 5px;

Το Chrome έχει υποστηρίξει την ιδιότητα CSS3 από την έκδοση 5.0, ο Firefox το πρόσθεσε στην έκδοση 4.0, το Safari το πρόσθεσε στο 5.0, το Opera στο 10.5, το iOS στο 4.0 και το Android στο 2.1. Ακόμη και ο Internet Explorer 9 το υποστηρίζει χωρίς πρόθεμα (και το IE 8 και το χαμηλότερο δεν το υποστήριζαν με ή χωρίς προθέματα).

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