Vendor Prefixes in CSS
Στο παρελθόν, μεταξύ των προγραμμάτων πλοήγησης, είχε δημιουργηθεί η ακόλουθη κατάσταση: πριν από την εμφάνιση μιας ιδιότητας CSS στις προδιαγραφές, τα προγράμματα πλοήγησης υλοποιούσαν μια δοκιμαστική έκδοση αυτής της ιδιότητας με μια ειδική πρόθεση, που ονομάζεται vendor prefix.
Ας δούμε πώς αυτό φαίνεται χρησιμοποιώντας ως παράδειγμα την ιδιότητα
box-sizing:
p {
box-sizing: border-box;
}
Αυτή η ιδιότητα άρχισε να υποστηρίζεται μόνο
από το Firefox29, ωστόσο από την έκδοση Firefox2
ήταν διαθέσιμη με το πρόθεμα -moz:
p {
-moz-box-sizing: border-box;
}
Τα υπόλοιπα προγράμματα πλοήγησης είχαν ανάλογες προθέσεις:
-moz - Mozilla Firefox, -webkit
- προγράμματα πλοήγησης με την μηχανή Webkit και Blink, -o
- Opera με την μηχανή Presto, -ms - IE.
Έτσι, η πιο cross-browser εκδοχή
της ιδιότητας box-sizing, με τη χρήση
vendor prefixes, είχε περίπου
την ακόλουθη μορφή:
p {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
Στην παρούσα στιγμή, τα προγράμματα πλοήγησης αποφάσισαν να εγκαταλείψουν τα prefixes λόγω της ανησυχίας τους. Και τώρα αντί για αυτά χρησιμοποιούν τα λεγόμενα flags. Οι ιδιότητες εισάγονται τώρα στο πρόγραμμα πλοήγησης, αλλά είναι απενεργοποιημένες by default, ωστόσο μπορούν να ενεργοποιηθούν στις ρυθμίσεις του προγράμματος πλοήγησης, ενεργοποιώντας την αντίστοιχη σημαία στις ρυθμίσεις. Αυτό έγινε για να μπορούν οι προγραμματιστές να πειραματιστούν με μια νέα ιδιότητα πριν από την επίσημη εμφάνισή της.