Domanda

Esiste un motivo valido per cui i browser prefissi nuove funzionalità CSS, invece di consentire ai webmaster di utilizzare la versione non prefissata?

Ad esempio, a codice di esempio Per il gradiente di sfondo sembra:

#arbitrary-stops {
  /* fallback DIY*/

  /* Safari 4-5, Chrome 1-9 */
  background: -webkit-gradient(linear, left top, right top, from(#2F2727), color-stop(0.05, #1a82f7), color-stop(0.5, #2F2727), color-stop(0.95, #1a82f7), to(#2F2727));

  /* Safari 5.1+, Chrome 10+ */
  background: -webkit-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);

  /* Firefox 3.6+ */
  background: -moz-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);

  /* IE 10 */
  background: -ms-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);

  /* Opera 11.10+ */
  background: -o-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
}

Qual è il punto di costringere i webmaster a copiare incollare lo stesso codice quattro volte per avere lo stesso risultato?


Nota: uno dei motivi spesso citati è quello Gli stili prefissi sono destinati a essere temporanei mentre il browser non implementa correttamente le specifiche o la specifica non è definitiva.

IMO, questo motivo è una sciocchezza:

  • Se il motore del browser non implementa correttamente le specifiche, il browser non sarà conforme, indipendentemente dal fatto che non lo implementa in forma non prefissata o non lo implementa in forma prefissata.
  • Se la specifica non è definitiva, potrebbe importare quando ci sono state implementazioni precedenti con lo stesso nome. Ad esempio se CSS2 avesse avuto linear-gradient, ma CSS3 aveva lo scopo di estendere linear-gradient Con ulteriori funzionalità, sarebbe intelligente prefisso temporaneo il nuovo, bozza, implementazione di -css3-<style> Differenziare tra quello funzionante CSS2 e quello sperimentale CSS3. In pratica, CSS2 non ha linear-gradient o altre novità CSS3.

Capirei anche se browser diversi avevano diversi formati di implementazione: Ad esempio, diciamo che Firefox richiesto, per l'ombra di testo, <weight-of-shadow distance-x distance-y color>, mentre Chrome richiesto <distance-x distance-y weight-of-shadow color>. Ma in realtà, questo non è così; Almeno tutte le nuove funzionalità di CSS3 che ho usato finora avevano lo stesso formato.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top