Hai letto indubbiamente il prefisso del venditore dramma di sviluppo web della settimana. In caso contrario, le mailing list del W3C sono state incendiate da quando è stato discusso (e sostanzialmente annunciato) che Microsoft, Opera e Firefox inizieranno a adottare e stile le proprietà con prefisso webkit. Una delle ragioni alla base di questa decisione è che noi sviluppatori non siamo responsabili quando codifichiamo i nostri fogli di stile; stiamo applicando troppe proprietà specifiche del webkit, senza considerare altri browser.
Sentendo questo, mi è stato lasciato pensare: è proprio vero?
Per recuperare il dramma caldo, leggi i seguenti articoli:
L'essenza di base è che i venditori non-webkit stanno pianificando di riconoscere e di stile
-webkit
prefisso su un numero di proprietà CSS3. Ciò è in parte dovuto al fatto, dicono, che troppi sviluppatori sono stati pigri, si fidano troppo di Webkit e non aggiornano progetti precedenti (specialmente per i progetti di dispositivi mobili). Come questi browser concorrenti lo vedono, non hanno scelta; le loro mani sono costrette.
Una cosa è divertirsi con le proprietà non standard, specifiche del Webkit per divertimento (come ad esempio -webkit-text-stroke
); abbiamo persino pubblicato articoli simili su Nettuts +. Tuttavia, è un'altra cosa completamente se gli sviluppatori, ad esempio, usano esclusivamente il prefisso di Webkit quando applicano gradienti o transizioni CSS.
Un spesso propagandato scusa per non prefissare correttamente tutte le proprietà CSS3 è che può essere considerevolmente difficile tenere traccia di quali prefissi sono necessari per qualsiasi proprietà data. Questo è certamente vero, ma la nostra comunità non ha fornito una varietà di soluzioni?
Per iniziare con il manuale, percorso di ricerca, CanIUse.com è un riferimento fantastico quando è necessario determinare se un determinato browser supporta una proprietà CSS3. Se è supportato, ma richiede un prefisso, CanIUse lo dirà.
È un segnalibro essenziale per tutti gli sviluppatori web (e non si limita solo ai CSS).
Compass è un framework per Sass che, tra le altre cose, gestirà automaticamente il processo di prefixing delle proprietà CSS3. Ad esempio, per applicare cross-browser, risparmio di benessere box-sizing
a un sito Web, con CSS, scriveremmo:
* -webkit-box-dimensionamento: border-box; -moz-box-dimensionamento: border-box; -ms-box-dimensionamento: border-box; dimensionamento della scatola: border-box;
Tuttavia, quando si usa Compass, possiamo semplicemente includere un mixin, in questo modo:
* @include box-sizing (border-box);
In questo modo, i progettisti non devono mai preoccuparsi se un determinato browser fornisce o meno una versione prefissata di una nuova proprietà; Compass lo fa per te.
A Nettuts +, abbiamo anche fornito un modo semplice per "auto-prefisso". Utilizzare il sito Web o la relativa API nell'editor di codice preferito per filtrare automaticamente il foglio di stile e aggiornare le proprietà CSS3 che mancano di una versione con prefisso. Questo può anche essere integrato nel tuo script di build, in modo da poter codificare sempre usando la sintassi ufficiale.
La differenza tra Prefixr e Compass è che il primo non richiede un preprocessore, se si preferisce codificare manualmente tutti i CSS. Basta dare a Prefixr un foglio di stile e farà il resto.
Anche Lea Verou's Prefix-Free è una soluzione pulita. È unico in quanto è una soluzione basata su JavaScript che determina in modo dinamico quale browser viene utilizzato e quindi assegna i prefissi necessari al foglio di stile. Basta importare Prefix-free, usare la sintassi ufficiale per le nuove proprietà CSS3, e si prenderà cura di tutto il resto.
Mentre alcuni potrebbero vedere il fatto che dipende da JavaScript funzionare come uno svantaggio, un notevole vantaggio di questo metodo è che i fogli di stile diventano sia più piccoli che più manutenibili. A fini di sviluppo, è un'ottima scelta; tuttavia, per la produzione, potresti prendere in considerazione l'utilizzo di uno strumento diverso, in quanto possono esserci notevoli conseguenze sulle prestazioni.
CSS3Please è un servizio elegante che fornisce CSS copia-incolla e cross-browser. Regola i valori in base alle tue esigenze e disponi immediatamente di uno snippet che indirizzerà correttamente tutti i browser applicabili.
Se sei un utente del preprocessore che preferisce creare i suoi mixini CSS3, allora fantastico; tuttavia, diversamente, alcuni di voi non utilizzano questi servizi? Se è così, perché no? È comprensibile che Firefox e Microsoft possano sentirsi obbligati a supportare il prefisso webkit per alcune proprietà, nonostante il loro miglior giudizio. In particolare per i progetti più vecchi e più piccoli, non sempre siamo ottimisti sull'aggiornamento dei fogli di stile in base alle esigenze. Questo è esattamente il motivo per cui le proprietà prefissate sono appese in giro così a lungo, nonostante il fatto che le proprietà come border-radius
sono stati supportati da tempo, non prefissati. Webkit non vuole "rompere" questi siti web.
Allora, qual è l'affare? Non siamo responsabili?
Christian Heilmann ha lanciato un progetto, chiamato Prefix the Web; incoraggia gli sviluppatori ad aggiornare i progetti GitHub per includere tutti i prefissi del browser necessari. Sfortunatamente, l'iniziativa potrebbe essere troppo tardi. Cosa pensi?