2011-09-22 4 views
9

Utilizzo gli stili di codec -moz e -webkit per un po 'di tempo per elementi come ombra di casella, ombra di testo, ecc. E ultimamente ho notato che ogni FireFox, Chrome, Safari e IE() producono tutti stesso risultato con lo standard box-shadow e text-shadow e stili CSS simili.-moz e -webkit css non sono più necessari?

Mi chiedevo se questo è documentato ovunque. Perché ho rimosso tutti i browser specifici da un sito e sembra ancora lo stesso in tutti e quattro i browser.

risposta

5

Suppongo che dipenda dalla versione dei browser scelti come target.

Sembra che se, e solo se, la tua app o il tuo sito siano destinati a funzionare solo sulle versioni più recenti di tutti i browser, puoi permetterti di omettere -moz e -webkit sulle proprietà specifiche che hai testato .

Ci sono altre proprietà che non sono supportate su tutti i browser, ad es. il mio preferito webkit-transition. Ovviamente nella realtà attuale è improbabile che tu riesca a farla franca con la scelta dei browser più recenti, a meno che tu non stia realizzando un progetto personale.

+0

Bene. Suppongo che questo possa essere discusso fino a quando non saremo tutti blu di fronte - ma IE9 non è l'unico popolo 'ugandese' che deve fare. La gente in generale dovrebbe cercare di mantenere i propri browser aggiornati quando possibile, quindi non penso che sia una cattiva idea usare uno strumento come 'modernizr' per verificare questo tipo di cose anche in FireFox e Chrome, e avvisare l'utente che stanno usando una vecchia versione. – Ciel

+0

Ma sì, capisco cosa intendi. – Ciel

1

Potrebbe essere utile tenerli per i browser più vecchi che non hanno gli standard, ma hanno gli stili css -moz e -webkit.

0

la cosa migliore da fare è quello di tenerli tutti in là,

esempio:

-moz-border-radius: 5px; 
-webkit-border-radius: 5px; 
border-radius: 5px; 

a seconda della versione browser dell'utente, saranno ancora vedere la border-radius, i browser più vecchi sarà ancora usa la versione -moz e -webkit, le ultime versioni di safari/firefox o chrome useranno l'implementazione finale della proprietà border-radius.

+0

Questa non era la domanda però. Il 75% del tuo codice potrebbe essere ridondante. Non molto efficiente .. – Richard

+0

ridondante su qualsiasi versione del browser che inizia quella che ha smesso di usare questi flag. chiunque non abbia un Chrome/Safari aggiornato avrà problemi se li rimuovi. Era solo un suggerimento per la persona che fa domande, può decidere autonomamente se gli utenti del suo sito usano o meno gli ultimi browser. In realtà, è una risposta, quando si chiede se non sono più necessari, gli ho dato la risposta che alcuni utenti hanno ancora una versione precedente e potrebbero aver bisogno delle bandiere. Quindi sono in effetti ancora utili per alcune persone! Il 75% del mio codice è una grande esagerazione, non tutto il mio codice è css specifico per webkit/moz. – Sander

8

I browser più recenti supportano queste proprietà css3 per impostazione predefinita. Queste opzioni -moz e -webkit dovrebbero comunque essere ancora utilizzate per la retrocompatibilità con i browser più vecchi. I browser più vecchi li implementarono per consentire l'uso di queste proprietà prima che diventassero standard.

1

Per le versioni più recenti di Firefox, Chrome e Safari è vero.

Tuttavia, per le persone che utilizzano versioni precedenti dei browser (Firefox 3.6, ad esempio), è comunque necessario lasciare i prefissi -moz e -webkit.
Se si desidera targetizzarli, non è necessario rimuoverli.
Queste proprietà sono tuttavia un miglioramento progressivo, quindi rimuoverle non sarebbe dannoso.

2

Se non vuoi scrivere così tanto e vuoi comunque la retrocompatibilità: less.css potrebbe essere tuo amico.

Un'altra cosa: w3schools.com ha un database aggiornato per tutti i comandi CSS e quale browser lo supporta. Aiutato molto