¿Por qué hay-moz-XXX y-webkit-XXX en el CSS3?


Lo que más odio en CSS3 es que siempre hay dos propiedades que debes poner para hacer un efecto. Creo que esto no es profesional, y aumentar el tamaño de CSS. Por ejemplo, ¿por qué no unen -webkit-border-radius y -moz-border-radius en border-radius

Imagine que si tenemos 10 navegadores, ¿escribiremos 10 líneas para hacer un efecto de esquina redondeada? Alguien puede explicar?

 26
Author: Yi Jiang, 2010-03-06

2 answers

Es porque son específicos del proveedor. -webkit- y -moz-- las propiedades prefijadas son no propiedades estándar. Ese "espacio de nombres" permite a los proveedores probar nuevas características interesantes, y si son geniales, se pueden incorporar a los estándares. Esto es lo que está sucediendo con CSS3: Mozilla y el equipo de Webkit probaron cosas geniales, y ahora se van a convertir en estándar. No está hecho todavía. Eventualmente se convertirá en una propiedad border-radius consistente.

Es una manera clara de indicar que no se espera que algo funcione en todos los navegadores. Por ejemplo, -webkit-transition-property solo funciona en navegadores basados en Webkit.

De todos modos, -webkit-border-radius y -moz-border-radius no funcionan exactamente igual. Es porque cada proveedor, a pesar de que están haciendo cosas similares, se les permite implementar características de la manera que quieran. El estándar establecerá una forma estándar, pero todos son libres de hacer lo que quieran dentro de su propio espacio de nombres.

 29
Author: zneak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-06 16:35:55

-webkit-border-radius y -moz-border-radius se crearon antes de que el estándar de bordes CSS3 fuera completo (todavía no es un estándar aprobado - actualmente es una Recomendación Candidata).

El estándar solo requiere un border-radius, como se puede ver en la especificación .

Son específicos de mozilla y webkit - una vez que el estándar es aprobado esto debería cambiar para ser border-radius en todos los navegadores compatibles.

 8
Author: Oded,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-06 16:36:48