Pagini și prefixe pentru diverse. Este timpul să regândim prefixele furnizorului în CSS. Cum funcționează prefixele browserului

În acest articol, ne vom uita la ce sunt prefixele browserului, de ce există și cum să le folosim în CSS.

Ce sunt prefixele?

Dezvoltator web care începe să studieze teoretic Bazele CSS iar utilizarea acestor cunoștințe în practică poate întâmpina probleme atunci când se ia în considerare exemple reale. Acest lucru îl poate determina să înțeleagă greșit ceea ce se întâmplă și să descurajeze dorința de a studia această tehnologie.

De exemplu, când ia în considerare stilurile unui site, un dezvoltator web poate întâlni proprietăți care conțin câteva cuvinte obscure în față: -webkit- , -moz- , -ms- , etc.

* ( -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; )

Ce este? De fapt, totul este simplu, aceste cuvinte obscure sunt prefixe ale următoarelor browsere:

Astfel, dacă înaintea numelui proprietății există un prefix, înseamnă că această proprietate este implementată și va fi folosită doar în browserul specificat. Toate celelalte browsere vor ignora această proprietate. pentru ei, acest prefix este necunoscut.

Motive pentru apariția prefixelor?

Au existat multe motive pentru apariția prefixelor:

  • Pentru a include proprietăți CSS experimentale în browser care nu au fost încă aprobate de standard. Prin urmare, furnizorii de browsere fac unele teste și sugestii înainte de a adopta proprietățile CSS în standard.
  • Pentru a rezolva problemele cu compatibilitatea între browsere.
  • Pentru a crea proprietăți personalizate care nu fac parte din standardul CSS, dar care pot apărea în acesta după un timp.

Odată ce o proprietate experimentală a fost aprobată de standard și a trecut testarea browserului, de obicei, prefixul este eliminat.

Cum se folosesc prefixele?

Luați în considerare următorul cod ca exemplu:

* ( -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; )

Acest cod aplică proprietăți CSS care modifică algoritmul de calcul al lățimii și înălțimii pentru toate elementele paginii web. Prima proprietate CSS -webkit-box-sizing cu valoarea border-box este destinată browserelor care utilizează motorul webkit (Safari) sau blink (Chrome, Opera, Yandex.Browser). A doua proprietate CSS -moz-box-sizing cu o valoare border-box este destinată browserelor care utilizează motorul Gecko ( Mozilla Firefox). Ultima proprietate CSS este destinată browserelor în care această proprietate a fost deja testată și implementată conform standardului.

Când utilizați prefixe pentru proprietățile CSS, rețineți că acestea ar trebui să fie plasate înaintea proprietății CSS fără prefix. De ce este atât de important? Acest lucru este important pentru că, dacă proprietatea originală (fără prefix) este vreodată implementată în browser, atunci va fi folosită (pentru că se află ultima), și nu versiunea sa experimentală.

De exemplu: aplicarea unei proprietăți CSS la toate elementele unei pagini web dintr-un browser Google Chrome versiunea 40.

În figura de mai sus, puteți vedea că proprietatea originală box-sizing este deja implementată în acest browser și, deoarece este plasată pe ultimul loc, browserul o folosește, și nu proprietatea -webkit-box-sizing de mai sus.

Cum să verific dacă o anumită proprietate este acceptată în browser?

Un site unde puteți verifica dacă această proprietate este implementată sau nu într-un anumit browser poate fi găsit la linkul de mai jos. In plus, site-ul arata si procentul de utilizatori care folosesc aceasta versiune de browser.

Site-ul web „Pot folosi...”

De exemplu: să verificăm cum este implementată proprietatea transform în browsere.

Pe site-ul „CanIUse”, browserele sunt marcate cu culori diferite, în funcție de starea suportului pentru anumite proprietăți sau etichete:

  • Dreptunghiul roșu este browserul în care această proprietate nu este implementată;
  • Un dreptunghi verde cu o cratimă situată în colțul din dreapta sus este un browser în care această proprietate este utilizată printr-un prefix;
  • Un dreptunghi verde deschis este un browser în care această proprietate este parțial implementată;
  • Dreptunghiul verde este browserul în care această proprietate este implementată în conformitate cu standardul.
Cuprins:

Prefixul -webkit- domină CSS atât de mult încât unele site-uri nu funcționează corect fără el. Acest lucru indică faptul că dezvoltatorii nu au urmat cele mai bune practici în ultimii ani și acest lucru a dus la o decizie nefericită, dar aproape forțată din partea Mozilla. ÎN versiunile Firefox 46 sau 47 (aceasta este aprilie sau mai 2016), Mozilla intenționează să implementeze suport pentru prefixele non-standard -webkit- pentru a îmbunătăți compatibilitatea Firefox cu site-urile care folosesc în mare măsură -webkit (de obicei site-uri prietenoase cu dispozitivele mobile).

Cu toate acestea, dezvoltatorii folosesc prefixe pentru a le folosi ultimele caracteristici browsere cât mai repede posibil. Prefixele au provocat dezordine cu dominația WebKit, dar au făcut și web-ul să avanseze într-un ritm accelerat.

Abordarea Mozilla și Microsoft este sigură pentru majoritatea site-urilor. Multe site-uri vor folosi prefixul -moz- sau nu vor face nimic pentru compatibilitatea viitoare. Actualizare Firefox. Dar, ca dezvoltatori web profesioniști, trebuie să luăm în considerare cu atenție și să înțelegem implicațiile acestui lucru. Probabil știți care dintre site-urile dvs. ar putea fi afectate de această actualizare.

Așadar, este timpul să regândim abordarea prefixelor și să testăm site-urile cu acestea.

Prefixe acceptate

Există o serie de prefixe -webkit- pe care Mozilla le poate implementa. Pe baza a ceea ce am adunat, Mozilla nu încearcă să potrivească lista de proprietăți de prefix acceptate cu cele ale lui Edge, deoarece nu toate sunt necesare pentru compatibilitatea cu motorul de layout.

Dezvoltatorii Firefox sunt, de asemenea, aproape de o abordare similară:

Tendința actuală în Mozilla este de a evita prefixele furnizorului dezactivând funcțiile disponibile și folosind versiunea fără prefix atunci când este suficient de stabilă. Aceasta este o politică generală: pot exista excepții în unele cazuri - Boris de la Mozilla

Microsoft Edge va elimina și prefixele de furnizor:

„Microsoft va elimina, de asemenea, prefixele de furnizor din Edge. Aceasta înseamnă că dezvoltatorii care doresc să utilizeze caracteristici specifice HTML și CSS nu vor folosi prefixul specific Edge. În schimb, vor scrie cod conform standardelor” - Mashable

Degradarea treptată pe baza prefixelor nu va mai fi

Această îndepărtare de la prefixele de furnizor înseamnă un lucru - degradarea treptată a prefixelor de furnizor este exclusă.

Utilizarea prefixelor de furnizor pentru a aplica stiluri specifice browserului (de exemplu, numai pentru Chrome) nu a fost intenția introducerii acestora; Recomandarea pentru dezvoltatori a fost întotdeauna să folosească toate prefixele (de la -webkit- la -o-). Dacă utilizați funcții care depind de proprietățile prefixului și utilizați prefixe pentru degradare treptată a designului dvs. în alte browsere, nu mai funcționează.

Concluzie

Vremurile se schimbă. Dominația WebKit a creat fără să vrea probleme de incompatibilitate care forțează alți furnizori de browsere să implementeze prefixele -webkit-. Această problemă se va desfășura pe măsură ce furnizorii de browsere se îndepărtează de prefixele furnizorului, dar pentru moment, dezvoltatorii ar trebui să se asigure că prefixele nu produc rezultate neașteptate în browserele non-WebKit.

La prima vedere, se pare că prefixele de furnizor sunt ceva din categoria gramaticii... Prefixele de vânzător, sufixele de vânzător și terminațiile de vânzător... Dar ce legătură are asta cu aspectul?

Se dovedește cel mai direct! Prefixele de furnizor sunt prefixe CSS adăugate de furnizorii de browser pentru proprietăți nestandard.

Conform specificației CSS 2.1, identificatorii CSS care încep cu „-” sau „_” sunt rezervați pentru extensiile de browser CSS. Având aceste caractere la începutul proprietății, se asigură că extensiile de browser nu vor interfera niciodată cu proprietățile CSS standard în viitor. Acestea. niciun browser nu va înțelege „în mod accidental” o proprietate care nu este destinată acesteia.

Ce sunt ei?

Prefixele de furnizor ale celor mai comune browsere sunt prezentate în tabelul de mai jos:

Cum functioneaza?

Pentru element, proprietatea CSS este scrisă în formă directă pentru browserele care o înțeleg. După aceasta, separate prin punct și virgulă, este listată aceeași proprietate, dar cu prefixe de furnizor diferite pentru browsere diferite. Browserul dintr-un astfel de cod interpretează numai proprietățile care sunt scrise pentru el și le ignoră pe cele scrise pentru alte browsere.

De exemplu, proprietatea CSS responsabilă pentru transparența unui element este utilizată între browsere astfel:

Filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); /* IE 5.5-7*/ -ms-filter: „progid:DXImageTransform.Microsoft.Alpha(Opacity=50)”;/* IE 8*/ -moz-opacity:0.5;/* Mozilla 1.6 */ -khtml- opacitate:0.5;/* Konqueror 3.1, Safari 1.1 */ opacitate:0.5/* Safari 2.0+, Chrome, Firefox Opera, */

Pentru ce este?

În blogul lor, dezvoltatorii Internet Explorer enumera trei motive pentru a utiliza prefixul -ms- vendor pentru IE8:

  1. Dacă această proprietate este dezvoltată numai pentru Microsoft IE și nu este descrisă în specificație sau în modulul CSS
  2. Dacă modulul CSS la care se referă această proprietate este în curs de dezvoltare W3Cși nu a atins încă statutul de recomandare de candidat
  3. Dacă o proprietate implementează doar parțial funcționalitatea unei proprietăți descrise într-un modul sau specificație CSS

Alți dezvoltatori folosesc prefixe de furnizor din motive similare. De exemplu, Mozilla are o listă uriașă de proprietăți CSS individuale și valorile acestora cu prefixe de furnizor -moz- care sunt concepute special pentru Firefox și nu sunt descrise nici în modulul CSS, nici în specificație.

În plus, dezvoltatorii Microsoft au reușit să ascundă constructe invalide de validator folosind prefixe de furnizor. Acest lucru se aplică în primul rând filtrelor. Pentru IE 5.5-7 filtrul arăta astfel:

Filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); /*IE 5.5-7*/

Un astfel de design nu poate trece validarea în principiu! Dar noul design al aceluiași filtru, dar pentru IE 8, trece cu ușurință:

Ms-filter: „progid:DXImageTransform.Microsoft.Alpha(Opacity=50)”;/* IE 8*/

Desigur, nu vreau să scriu mai multe linii de cod cu proprietăți de furnizor pentru fiecare browser în loc de o linie de cod cu proprietăți standard în cod. Dar nu trebuie să uităm că specificația CSS3 este încă în dezvoltare. Este posibil ca ceva să se schimbe în descrierea proprietății în timpul standardizării sau să nu fie deloc în specificație. Apoi, desigur, va fi mai ușor pentru dezvoltatori să abandoneze proprietatea vânzătorului și să mențină standardele. De acord, dacă versiuni diferite browser, aceeași proprietate va funcționa diferit, nu va ieși nimic bun din ea. Lăsați proprietățile furnizorului să funcționeze mai bine în versiunile mai vechi de browsere, iar versiunile noi vor accepta specificația în forma sa directă, iar proprietățile cu prefixe de furnizor vor fi ignorate.

bonus frumos

Datorită prefixelor de furnizor, furnizorii de browsere implementează deja proprietăți experimentale CSS3 pe propriul risc.

Designerul de layout poate implementa deja majoritatea caracteristicilor oferite de CSS3, inclusiv diverse tranziții și animații fără a utiliza scripturi, dar folosind prefixe de furnizor.

Un bun exemplu de astfel de implementare ar fi utilizarea proprietății CSS3. Să setăm sarcina să implementeze pentru link o schimbare lină a culorii de fundal atunci când trecem cursorul, fără a utiliza JavaScript. Pentru a face acest lucru, trebuie să adăugați următorul cod la CSS pentru link:

Webkit-transition:background-color 5s ease-in 3s;/* funcționează în Safari 3.1+, Chrome 1+ */ -o-transition:background-color 5s ease-in 3s;/* funcționează în Opera 10.5+ */ - moz-transition:background-color 5s ease-in 3s;/* planificat pentru Firefox 4.0+ */ transition:background-color 5s ease-in 3s;/* nu este acceptat direct de niciun browser */

Puteți vedea un exemplu viu.

Prefixe specifice browserului

S-a menționat anterior că specificația CSS3 este un set de module care sunt integrate treptat de producătorii de browsere. Uneori, integrarea include suport experimental. Aceasta înseamnă că, în timp ce specificația este scrisă, discutată și criticată la W3C, un producător de browser poate decide să adauge suport pentru unele caracteristici pentru a le încerca în practică. Recent, această practică a devenit o parte naturală a procesului și Părere, obținut în timpul utilizării experimentale, este adesea folosit pentru a modifica specificația.

Pe de altă parte, un producător de browser poate dori să introducă o caracteristică experimentală care nu face parte din niciun standard propus, dar poate primi într-o zi un astfel de statut.

Prefixele browserului sunt adesea introduse pentru acest suport experimental pentru proprietățile CSS, astfel:

--webkit-border-radius

Un cuvânt cheie cu cratimă care precede un nume de proprietate îl marchează ca o lucrare în curs de desfășurare, care se referă exclusiv la implementarea și interpretarea specifică browserului a specificației în evoluție. Dacă o proprietate experimentală este inclusă într-un modul CSS3 complet, browserul trebuie să accepte numele proprietății fără prefix.

Fiecare producător de browser are propriul prefix pe care îl folosește pentru a-și marca propriile caracteristici experimentale în primul rând. Toate celelalte browsere ignoră regulile care conțin prefixe despre care nu le cunosc.

ÎN fila. 1.03 sunt enumerate cele mai utilizate browsere și prefixele asociate acestora. Vom folosi prefixele WebKit, Mozilla și Opera pentru CSS3 în exemplele din capitolele următoare.

Tabelul 1.03. Cele mai utilizate browsere și prefixele asociate acestora

Din cartea Overclockează-ți site-ul autor Matsievski Nikolai

8.2. Câteva sfaturi pentru browser Accelerează încărcarea paginilor în Firefox 3 În Firefox, poți accelera încărcarea și afișarea paginilor, îmbunătățind considerabil experiența ta de navigare. Ce trebuie să faceți pentru aceasta: deschideți pagina de setări tastând bara de adresa

Din cartea Internet Intelligence [Ghid de acțiune] autor Iuşciuk Evgheni Leonidovici

Cum să căutați pe Internet informații despre anumite persoane Pe internetul rusesc, informații despre oameni pot fi găsite fie folosind motoare de căutare, sau folosind directoare telefonice online. Sisteme de informare se introduce o interogare, care ar trebui să conțină

Din cartea Programare autor Kozlova Irina Sergheevna

49. Optimizare pentru modele specifice procesoare Dacă un program va rula pe computere cu modele de procesoare strict definite, puteți încerca să utilizați comenzi care vizează anumite modele de procesoare. Multe dintre comenzile noi oferă

Din cartea Lucrul pe Internet autor Makarsky Dmitri

Utilizarea browserelor După cum am menționat deja, scopul principal al unui browser este de a vizualiza pagini web, așa că merită să vorbim separat despre caracteristicile navigării pe Internet folosind browsere. Să începem cu controalele de bază, fără de care nu poți

Din cartea Computerra Digital Magazine Nr. 12 autor Revista Computerra

Caracteristici suplimentare browsere Desigur, capacitățile browserelor web nu se termină cu navigarea pe site-uri și mutarea de la o pagină la alta. Programele pentru navigarea pe Internet pot face mult mai mult, despre care vom vorbi acum. Totuși, dacă nu este specificat

Din cartea Computerra PDA 20/03/2010-26/03/2010 autor Revista Computerra

Opera ajunge din urmă cu alte browsere Andrey Pismenny versiunea beta browser Opera 10.50 include un interpret de limbaj JavaScript complet nou. Se numește Carakan și este mult mai rapid decât versiuni mai vechi. Asta înseamnă că Opera a ajuns în sfârșit din urmă cu restul

Din cartea XSLT autor Holzner Stephen

Opera ajunge din urmă cu alte browsere Autor: Andrey PismennyyPublicat pe 22 martie 2010Versiunea beta a browserului Opera 10.50 este echipată cu un interpret de limbaj JavaScript complet nou. Se numește Carakan și este semnificativ mai rapid decât versiunile anterioare. Înseamnă că

Din cartea The Way of the Programmer: de la 100 USD la 10.000 USD pe lună autor Nikitin Alexandru

Transformarea documentelor XML cu browsere Suport pentru XSLT este, de asemenea, inclus Microsoft Internet Explorer și în Netscape Navigator. Dintre acești doi browsere de internet Explorer are mult mai mult suport pentru XSLT și voi folosi versiunea 5.5 a acestui browser aici. Despre suportul XSLT în Internet Explorer, puteți

Din cartea Linux: Ghid complet autor Kolisnichenko Denis Nikolaevici

Pasul 2. Începător avansat. experiență de muncă<= 0,5 года. Знания в рамках школьных и институтских курсов информатики + полученные на работе навыки решения конкретных задач. Этот период охватывает промежуток времени от получения предложения о работе до окончания испытательного срока.

Din cartea CSS3 pentru web designeri de Siderholm Dan

6.4.3. Accesibilitatea browserului Acest paragraf vă va spune cum să lucrați cu browsere? Apoi poate fi sărit cu totul sau citit în diagonală. Nu, dragă cititor, nu mă îndoiam că știi să lucrezi cu browsere. Acum noi

Din cartea Computerra Digital Magazine Nr. 225 autor Revista Computerra

Cum funcționează prefixele de browser Iată cum funcționează CSS în practică cu prefixele de browser. Să luăm drept exemplu proprietatea border-radius. Să presupunem că vrem să rotunjim colțurile unui element cu o rază de 10 pixeli; iată cum se face: .foo( -- webkit-border-radius: 10px; -- moz-border-radius: 10px; border-radius: 10px;

Din cartea Instalați, configurați și restaurați Windows 7 la 100% autor Vatamanyuk Alexandru Ivanovici

De rezervă pentru toate browserele Browserele care nu acceptă încă mai multe fundaluri vor ignora complet proprietatea de fundal. De aceea am definit proprietatea background-color separat. Figura 5.05 arată cum arată site-ul în IE7: fundalurile multiple sunt ignorate și

Din cartea autorului

Dar alte browsere? Deschizând formularul în Internet Explorer 7, un browser cu zero suport CSS3, vedem un formular de lucru perfect acceptabil (Figura 6.15). Acest lucru este uimitor! Toate îmbunătățirile adăugate de proprietățile CSS3 au fost ignorate; rămâne scheletul formei, lucrând ca

Din cartea autorului

Dar alte browsere? Adăugarea de animații CSS este pentru prima dată în această carte când am îmbunătățit experiența utilizatorului pentru un singur furnizor de browser: WebKit. Unul dintre principalele motive pentru care CSS3 este folosit din ce în ce mai mult este din cauza noilor proprietăți.

Din cartea autorului

7 browsere alternative pentru iPad Oleg Nechay Publicat pe 15 mai 2014 Strict vorbind, există un singur browser cu drepturi depline pentru iOS - Safari. Toate alternativele sunt de fapt suplimente grafice și seturi de scripturi Java pentru motorul open source.

Din cartea autorului

12.3. Permiterea și blocarea anumitor programe O altă modalitate foarte eficientă de a restricționa accesul la programe este crearea unei liste de programe pe care le puteți rula. Toate programele care nu sunt incluse în această listă, respectiv, sunt interzise să ruleze

Prefixe specifice browserului

S-a menționat anterior că specificația CSS3 este un set de module care sunt integrate treptat de producătorii de browsere. Uneori, integrarea include suport experimental. Aceasta înseamnă că, în timp ce specificația este scrisă, discutată și criticată la W3C, un producător de browser poate decide să adauge suport pentru unele caracteristici pentru a le încerca în practică. Recent, această practică a devenit o parte naturală a procesului, iar feedback-ul din utilizarea experimentală este adesea folosit pentru a modifica specificația.

Pe de altă parte, un producător de browser poate dori să introducă o caracteristică experimentală care nu face parte din niciun standard propus, dar poate primi într-o zi un astfel de statut.

Prefixele browserului sunt adesea introduse pentru acest suport experimental pentru proprietățile CSS, astfel:

--webkit-border-radius

Un cuvânt cheie cu cratimă care precede un nume de proprietate îl marchează ca o lucrare în curs de desfășurare, care se referă exclusiv la implementarea și interpretarea specifică browserului a specificației în evoluție. Dacă o proprietate experimentală este inclusă într-un modul CSS3 complet, browserul trebuie să accepte numele proprietății fără prefix.

Fiecare producător de browser are propriul prefix pe care îl folosește pentru a-și marca propriile caracteristici experimentale în primul rând. Toate celelalte browsere ignoră regulile care conțin prefixe despre care nu le cunosc.

În tabel. 1.03 listează cele mai utilizate browsere și prefixele asociate acestora. Vom folosi prefixele WebKit, Mozilla și Opera pentru CSS3 în exemplele din capitolele următoare.

D. Siderholm. „CSS3 pentru web designeri”

Tabelul 1.03. Cele mai utilizate browsere și prefixele asociate acestora

Cum funcționează prefixele browserului

Iată cum funcționează CSS în practică cu prefixele browserului. Să luăm drept exemplu proprietatea border-radius. Să presupunem că vrem să rotunjim colțurile unui element cu o rază de 10 pixeli; iată cum se face:

- webkit-border-radius: 10px;

moz-border-radius: 10px raza-chenar: 10px

Webkit (motorul utilizat în Chrome, Safari și Safari pentru mobil

dispozitive) și Gecko (motorul de browser Firefox) acceptă proprietatea border-radius prin propriile proprietăți de prefix; Opera acceptă această proprietate fără prefix. IE9 va suporta, de asemenea, border-radius fără prefixul browserului.

În momentul scrierii acestui articol (august 2012), toate browserele menționate acceptă proprietatea border-radius fără prefix, inclusiv IE9. ed.

Ordine optimă

Când utilizați prefixele browserului, este important să vă amintiți ordinea în care sunt listate proprietățile. Puteți observa că în exemplul anterior, proprietățile prefixate sunt scrise mai întâi, urmate de proprietatea neprefixată.

D. Siderholm. „CSS3 pentru web designeri”

De ce să puneți ultima proprietate CSS3 autentică? Este probabil ca în viitor fișierele dvs. de stil să funcționeze în mai multe browsere, îmbunătățind treptat designul. Când browserul acceptă în sfârșit proprietatea definită în specificație, proprietatea originală va fi aplicată, nu versiunea experimentală, deoarece va fi ultima din listă. Chiar dacă implementarea versiunii de prefix diferă de proprietatea reală față de specificație, vă pasă că standardul final rămâne primordial.

Nu vă fie frică de prefixele browserului!

Reacția inițială a cititorului ar putea fi ceva de genul „Ah, sunt lucruri confuze și de proprietate!” Dar vă asigur că acesta nu este doar un pas înainte, ci și o soluție mult mai puțin confuză în comparație cu bucățile umflate de cod și lipsa de flexibilitate care vine cu soluțiile non-CSS3. Este, de asemenea, o parte importantă a dezvoltării specificațiilor.

Folosind aceste funcții acum cu prefixele browserului, putem să cercetăm apele și chiar să oferim comentarii valoroase producătorilor de browser înainte ca specificația să fie finalizată. De asemenea, merită să ne amintim că prefixele sunt de obicei adăugate standardelor propuse

(și nu cele aprobate). Aceasta este o mare diferență față de diferitele CSS hacky pe care le folosim cu toții ocazional pentru a rezolva problemele între browsere.

S-ar putea compara prefixele browserului cu exploit-urile de sintaxă pe care mulți dintre noi au fost nevoiți să le utilizeze pentru a comanda versiuni specifice de browser (de exemplu, sintaxa w\idth: 200px sau _width: 200px , care vă permite să faceți referire la o anumită versiune de IE). Dimpotrivă, prefixele browserului sunt o parte importantă a procesului de standardizare, permițându-vă să dezvoltați o caracteristică, implementând-o pentru utilizare practică.

Eric Meyer, expert CSS, explică diferența în articolul Prefix vs. Posthack la

O listă aparte (http://bkaprt.com/css3/2/)3 :

Prefixele ne oferă control asupra destinului hackerilor. În trecut, a trebuit să inventăm o grămadă de erori de analiză doar pentru ca implementările incompatibile să funcționeze în același mod - când am descoperit că sunt incompatibile. A fost o abordare complet reacţionară. Prefixele sunt o abordare orientată spre viitor.

El continuă sugerând că prefixele nu sunt doar o bună practică, ci ar trebui să joace și un rol mai important în procesul de standardizare:

… pentru a forța furnizorii de browsere și grupul de lucru să lucreze împreună pentru a dezvolta testele necesare pentru a testa interoperabilitatea. Aceste teste îi pot ajuta apoi pe cei care urmează restul să obțină interoperabilitate mult mai rapid. Ei pot lansa literalmente implementarea prefixului într-o versiune beta publică și pot omite prefixul în următoarea ediție.

3 http://www.alistapart.com/articles/prefix-or-posthack/

D. Siderholm. „CSS3 pentru web designeri”

Deci nu vă faceți griji cu privire la prefixele browserului. Folosiți-le știind că faceți parte dintr-un proces care oferă rezultate acum și deschide calea pentru un viitor în care prefixele pot fi eliminate.

Dar repetări?

Ați putea crede că este destul de prostesc să repeți de trei sau patru ori ceea ce pare aceeași proprietate și pot fi de acord.

Dar realitatea este că soluțiile CSS3 vă vor necesita probabil să scrieți cod inflexibil și mai complex, chiar dacă nu este repetitiv.

Nu trebuie să ne repetăm ​​pentru totdeauna. Acesta este acum un pas necesar, dar temporar, pentru a menține implementările browser-la-browser separate de implementarea specificației finale.

Înainte de a începe să facem lucruri frumoase cu câteva proprietăți CSS3 utile și prefixe adecvate de browser, să ne familiarizăm cu tranzițiile CSS. Înțelegerea tranzițiilor și a modului în care funcționează ne va ajuta să le combinăm cu alte proprietăți pentru a crea interacțiuni grozave.