Aunque el código HTML es el mismo, ¿por qué la salida difiere en los diferentes navegadores web?

Creo que hay 3 razones principales para esto:

  1. Algunos navegadores web no siguen estrictamente los estándares w3c o interpretan el estándar incorrectamente. Esto es muy común en los navegadores móviles debido a la limitación del dispositivo.
  2. El estándar w3c, aunque bastante detallado, no cubre todos los resultados esperados para todas las situaciones imaginables. Dependiendo de cómo se crea cada navegador, a veces habrá una situación en la que los resultados son diferentes en diferentes navegadores.
  3. Muchas propiedades de etiqueta y CSS no tienen un valor predeterminado especificado por el w3c, y los ejemplos más comunes son margen y relleno. Por lo tanto, cada proveedor puede elegir lo que quiera que sea el valor predeterminado. Los navegadores compiten entre sí para proporcionar a sus usuarios la mejor configuración predeterminada, para garantizar que sus usuarios tengan una experiencia agradable incluso en los sitios web más crudos. Esto le da a cada navegador su propio estilo y personalidad, y conozco a muchas personas que han elegido un navegador únicamente por su aspecto estético (* wink wink Opera *).

El código para un navegador moderno como Firefox o Chrome ejecuta alrededor de 2 millones de líneas de C ++. Las especificaciones técnicas para cada etiqueta afirman qué funcionalidad mínima de presentación se requiere para que se considere compatible. El estándar no limita las extensiones que mejoran la apariencia o la funcionalidad. Por lo tanto, los fabricantes de navegadores tienen la flexibilidad de implementar con cierta libertad.

Además, prácticamente todas las versiones de navegador lanzadas tienen algunos errores menores (y a veces importantes). A medida que las nuevas versiones de los navegadores llegan a los usuarios, los errores antiguos se corrigen y se introducen nuevos a medida que los programadores intentan implementar nuevas características en horarios ajustados que trabajan con una base de código que es extremadamente compleja.

Debido a que cada navegador trata las etiquetas / elementos de manera diferente si tomamos el ejemplo de la etiqueta del botón, Chrome trata su interfaz de usuario de manera diferente, al igual que Mozilla e IE, ya que estos son los agentes de usuario que tienen su propio comportamiento.

W3c introduce una etiqueta ahora que cada navegador tiene que implementarla … y lo que ganó depende de esos navegadores

More Interesting

¿Cómo se compara Google App Engine con Heroku?

¿Cuál es la tasa de tiempo de actividad del motor de aplicaciones de Google?

¿Cuánto tiempo me llevará desarrollar una aplicación de blog, usando Spring y Angular?

¿Cuánto cuestan los sitios web de las aerolíneas?

¿Es el patrón modelo-vista-controlador apropiado (o incluso preferido) para aplicaciones web escritas en Javascript? ¿Por qué?

¿Cuál es el software de desarrollo web más utilizado en la actualidad?

¿En qué condiciones preferiría Java en lugar de PHP y ASP para mi aplicación web?

¿Los tweets con enlaces o tweets sin enlaces son más importantes para usted para su investigación?

Si construyo mi propia aplicación web compleja (Django) copiando y ajustando pequeños fragmentos de código tomados de 100 aplicaciones simples diferentes escritas por otras personas, ¿puedo considerarme un programador? ¿Por qué? Por qué no?

Cómo crear una lista desplegable en una página web

¿Desarrollar aplicaciones era una mala idea? Llevo tres meses y no he gastado dinero, pero me ha llevado mucho tiempo desarrollarlo y solo han ganado 81 centavos en ingresos publicitarios.

¿Cuál es la diferencia entre un firewall de aplicación web y un firewall de red normal? ¿Protegen cosas diferentes?

¿Qué herramientas están disponibles para crear mapas, diagramas u otras representaciones visuales de la estructura de datos de una aplicación?

¿Cuáles son las tecnologías utilizadas para hacer una aplicación web de realidad aumentada?

¿En qué secuencia debo aprender la codificación si quiero crear una aplicación web?