Sin duda has leído sobre el prefijo de proveedor Desarrollo web drama de la semana.. Si no, las listas de correo de W3C han estado en llamas desde que se discutió (y se anunció esencialmente) que Microsoft, Opera y Firefox comenzarán a adoptar y estilo de propiedades prefijadas de webkit. Una de las razones detrás de esta decisión es que los desarrolladores no somos responsables al codificar nuestras hojas de estilo; estamos aplicando demasiadas propiedades específicas del webkit, sin considerar otros navegadores.
Al escuchar esto, me quedé pensando: ¿es esto realmente cierto??
Para ponerse al día con el drama, lee los siguientes artículos:
La idea básica es que los proveedores que no son de webkit planean reconocer y diseñar el
-webkit
prefijo en una serie de propiedades CSS3. Esto se debe en parte al hecho, dicen, de que muchos desarrolladores han sido perezosos, confiando demasiado en Webkit y no actualizando proyectos antiguos (especialmente para diseños móviles). Como lo ven estos navegadores de la competencia, no tienen otra opción; sus manos están siendo forzadas.
Una cosa es jugar con propiedades no estándar, específicas de Webkit para la diversión (como -webkit-texto-trazo
); Incluso hemos publicado artículos similares en Nettuts +. Sin embargo, es otra cosa completamente si los desarrolladores, por ejemplo, utilizan exclusivamente el prefijo de Webkit al aplicar gradientes o transiciones de CSS.
Un a menudo promocionado excusa Si no se realizan correctamente los prefijos de todas las propiedades de CSS3, puede ser bastante difícil hacer un seguimiento de los prefijos que son necesarios para una propiedad determinada. Esto es cierto, pero nuestra comunidad no ha brindado una variedad de soluciones?
Para comenzar con el manual, la ruta de búsqueda, CanIUse.com es una referencia fantástica cuando necesitamos determinar si un navegador en particular es compatible con una propiedad CSS3. Si es compatible, pero requiere un prefijo, CanIUse le informará.
Es un marcador esencial para todos los desarrolladores web (y no se limita a solo CSS).
Compass es un marco para Sass que, entre otras cosas, manejará automáticamente el proceso de prefijo de sus propiedades CSS3. Por ejemplo, para aplicar navegador cruzado, ahorro de cordura. tamaño de caja
a un sitio web, con CSS, escribiríamos:
* -webkit-box-sizing: border-box; -mano-caja de tamaño: cuadro de borde; -ms-box-size: border-box; tamaño de caja: caja de borde;
Sin embargo, al usar Compass, podemos simplemente incluir un mixin, así:
* @include box-sizing (border-box);
De esta manera, los diseñadores nunca deben preocuparse por si un navegador en particular proporciona una versión prefijada de una nueva propiedad; Compass lo hace por ti.
En Nettuts +, también proporcionamos una forma fácil de "auto-prefijo". Utilice el sitio web o su API en su editor de código favorito para filtrar automáticamente a través de su hoja de estilo, y actualice las propiedades de CSS3 a las que le falta una versión prefijada. Esto incluso puede integrarse en su script de compilación, de modo que solo puede codificar utilizando la sintaxis oficial.
La diferencia entre Prefixr y Compass es que el primero no requiere un preprocesador, si prefiere codificar todo el CSS a mano. Simplemente alimenta a Prefixr una hoja de estilo, y hará el resto.
Prefix-Free de Lea Verou también es una buena solución. Es único ya que es una solución basada en JavaScript que determina de forma dinámica qué navegador se está utilizando y luego asigna los prefijos necesarios a la hoja de estilo. Simplemente importe sin prefijos, use la sintaxis oficial para las nuevas propiedades de CSS3 y se encargará del resto.
Si bien algunos pueden ver el hecho de que depende de JavaScript para funcionar como una desventaja, una ventaja considerable de este método es que sus hojas de estilo se vuelven más pequeñas y más fáciles de mantener. Para propósitos de desarrollo, es una gran opción; sin embargo, para producción, puede considerar usar una herramienta diferente, ya que puede haber consecuencias considerables en el rendimiento.
CSS3Please es un servicio ingenioso que proporciona copiar y pegar, CSS en todos los navegadores. Ajuste los valores de acuerdo con sus necesidades, e instantáneamente tendrá un fragmento que apuntará correctamente a todos los navegadores aplicables.
Si eres un usuario de preprocesador que prefiere crear sus propios mixins CSS3, entonces es fantástico; sin embargo, de lo contrario, ¿algunos de ustedes no están usando estos servicios? Si es así, ¿por qué no? Es comprensible que Firefox y Microsoft se sientan obligados a admitir el prefijo de webkit para algunas propiedades, a pesar de su buen criterio. Especialmente para proyectos más antiguos y pequeños, no siempre nos gusta actualizar las hojas de estilo según sea necesario. Esta es precisamente la razón por la que las propiedades prefijadas se han mantenido durante tanto tiempo, a pesar del hecho de que propiedades como radio del borde
han sido soportados desde hace mucho tiempo, sin prefijo. Webkit no quiere "romper" estos sitios web.
Entonces, ¿cuál es el problema? ¿No somos responsables??
Christian Heilmann ha lanzado un proyecto, llamado Prefijo de la Web; alienta a los desarrolladores a actualizar los proyectos de GitHub para incluir todos los prefijos de navegador necesarios. Lamentablemente, la iniciativa puede ser demasiado tarde. Qué piensas?