Ați citit, fără îndoială, despre prefixul vânzătorului program de dezvoltare web a săptămânii. În caz contrar, listele de discuții W3C s-au aprins de când a fost discutată (și, în esență, anunțată) că Microsoft, Opera și Firefox vor începe să adopta și proprietățile prefixate ale stilului webkit. Unul dintre motivele acestei decizii este că noi, dezvoltatorii, nu suntem responsabili când codificăm foile de stil; aplicăm prea multe proprietăți specifice pentru webkit, fără a lua în considerare alte browsere.
După ce am auzit asta, m-am lăsat să mă gândesc la mine: este adevărat acest lucru?
Pentru a-și recupera dramele fierbinți, le citează următoarele articole:
Principalul motiv este că vânzătorii non-webkit intenționează să recunoască și să schimbe stilul
-WebKit
prefixul unui număr de proprietăți CSS3. Acest lucru se datorează, parțial, faptului că prea mulți dezvoltatori au fost leneși, bazându-se prea mult pe Webkit și nu actualizând proiecte mai vechi (mai ales pentru modelele mobile). Pe măsură ce aceste browsere concurente o văd, nu au de ales; mâinile lor sunt forțate.
Este un lucru de jucat în jurul valorii de non-standard, Webkit-proprietăți specifice pentru distracție (cum ar fi -webkit-text-accident vascular cerebral
); am publicat chiar articole similare pe Nettuts +. Totuși, este altceva în întregime dacă dezvoltatorii folosesc, de exemplu, exclusiv prefixul Webkit atunci când aplică gradienți sau tranziții CSS.
Un adus de multe ori scuza pentru a nu prefixa corect toate proprietățile CSS3 este că poate fi dificil de observat prefixele care sunt necesare pentru o anumită proprietate. Acest lucru este cu siguranță adevărat, dar comunitatea noastră nu a oferit o varietate de soluții?
Pentru a începe cu ruta manuală, căutarea, CanIUse.com este o referință fantastică atunci când trebuie să determinăm dacă un anumit browser acceptă o proprietate CSS3. Dacă este acceptată, dar necesită un prefix, CanIUse vă va spune.
Este un marcaj esențial pentru toți dezvoltatorii web (și nu se limitează numai la CSS).
Compasul este un cadru pentru Sass care, printre altele, va gestiona automat procesul de prefixare a proprietăților CSS3. De exemplu, pentru a aplica browser-ul încrucișat, economie de sănătate box-dimensionare
la un site web, cu CSS, vom scrie:
* -webkit-box-size: box-border; -moz-box-size: caseta de margine; -ms-box-size: caseta de margine; box-size: caseta de margine;
Cu toate acestea, atunci când folosim Compass, putem include pur și simplu un mixin, așa cum este cazul:
* @ include dimensiunea cutiei (caseta de margine);
În acest fel, designerii nu trebuie să se preocupe nici dacă un anumit browser oferă sau nu o versiune prefixată a unei noi proprietăți; Compasul o face pentru tine.
La Nettuts +, am oferit, de asemenea, o modalitate ușoară de a "prefixa automat". Fie utilizați site-ul web sau API-ul acestuia în editorul dvs. de cod preferat pentru a filtra automat prin foaia de stil și actualiza orice proprietăți CSS3 care nu au o versiune prefixată. Acest lucru poate fi integrat chiar și în scriptul dvs. de construire, astfel încât să codificați numai folosind sintaxa oficială.
Diferența dintre Prefixr și Compass este că primul nu necesită un preprocesor, dacă preferați să codificați manual toate CSS-urile. Pur și simplu hrăniți Prefixr cu o foaie de stil, iar restul va face.
Prefixul gratuit Lea Verou este o soluție curată, de asemenea. Este unic în faptul că este o soluție bazată pe JavaScript care determină în mod dinamic ce browser este utilizat și apoi atribuie prefixele necesare foii de stil. Pur și simplu importați Prefix-free, folosiți sintaxa oficială pentru noile proprietăți CSS3 și va avea grijă de restul.
În timp ce unii pot vedea faptul că depinde de faptul că JavaScript va funcționa ca un dezavantaj, un bonus considerabil pentru această metodă este că foile de stil devin mai mici și mai ușor de întreținut. În scopuri de dezvoltare, este o alegere excelentă; cu toate acestea, pentru producție, puteți lua în considerare utilizarea unui instrument diferit, deoarece pot exista consecințe considerabile ale performanței.
CSS3Please este un serviciu minunat care oferă copiere și paste, CSS încrucișate în browser. Ajustați valorile în funcție de nevoile dvs. și aveți instantaneu un fragment care va viza corect toate browserele relevante.
Dacă sunteți un utilizator de preprocesor care preferă să creeze propriile mixuri CSS3, atunci este fantastic; totuși, în caz contrar, sunteți unii dintre dvs. care nu utilizează aceste servicii? Dacă da, de ce nu? Este de înțeles că Firefox și Microsoft se pot simți forțați să susțină prefixul webkit pentru unele proprietăți, în ciuda unei judecăți mai bune. În mod special pentru proiectele mai vechi și mai mici, nu suntem întotdeauna interesați să actualizăm foile de stil, după cum este necesar. Acesta este tocmai motivul pentru care proprietățile prefixate au atârnat în jur de atâta timp, în ciuda faptului că proprietățile cum ar fi border-radius
au fost susținute de mult timp, fără prefixe. Webkit nu dorește să "spargă" aceste site-uri web.
Deci, care-i treaba? Nu suntem responsabili?
Christian Heilmann a lansat un proiect, numit Prefixul Web; încurajează dezvoltatorii să actualizeze proiectele GitHub pentru a include toate prefixele de browser necesare. Din păcate, inițiativa poate fi prea târziu. Tu ce crezi?