El navegador web de hoy ha recorrido un largo camino desde los días locos donde cualquier tipo de coherencia entre navegadores fue una ilusión. Los navegadores web de hoy cumplen con todos los estándares. Juegan muy bien juntos y ofrecen una visualización de página bastante consistente en los distintos navegadores. Esto incluye las últimas versiones de Google Chrome, Microsoft Edge, Mozilla Firefox, Opera, Safari y los diversos navegadores que se encuentran en la gran cantidad de dispositivos móviles que se utilizan para acceder al sitio web en la actualidad.
Si bien se ha progresado en lo que respecta a los navegadores web y cómo muestran CSS, todavía hay inconsistencias entre estas diversas opciones de software. Una de las inconsistencias comunes es cómo esos navegadores calculan los márgenes, el relleno y los bordes de manera predeterminada.
Debido a que estos aspectos del modelo de caja afectan a todos los elementos HTML, y porque son esenciales para crear diseños de página, una visualización inconsistente significa que una página puede verse bien en un navegador, pero un poco apagada en otro. Para combatir este problema, muchos diseñadores web normalizan estos aspectos del modelo de caja. Esta práctica también se conoce como "poner a cero" los valores para márgenes, relleno y bordes.
Una nota sobre los valores predeterminados del navegador
Todos los navegadores web tienen configuraciones predeterminadas para ciertos aspectos de visualización de una página. Por ejemplo, los hipervínculos son azules y están subrayados de forma predeterminada. Esto es consistente en varios navegadores, y aunque es algo que la mayoría de los diseñadores cambian para satisfacer las necesidades de diseño de su proyecto específico, el hecho de que todos comiencen con los mismos valores predeterminados hace que sea más fácil realizar estos cambios. Lamentablemente, el valor predeterminado para márgenes, relleno y bordes no disfruta del mismo nivel de coherencia entre navegadores.
Valores de normalización para márgenes y relleno
La mejor manera de resolver el problema del modelo de caja inconsistente es establecer todos los márgenes y valores de relleno de los elementos HTML en cero. Hay algunas formas en que puede hacer esto para agregar esta regla CSS a su hoja de estilo:
Esta regla CSS utiliza el carácter comodín * o Ese carácter significa "todos los elementos" y básicamente seleccionaría cada elemento HTML y establecería los márgenes y el relleno en 0. Aunque esta regla es muy poco específica, ya que está en su hoja de estilo externa, tendrá una especificidad más alta que la del navegador predeterminado los valores hacen. Ya que esos valores predeterminados son lo que está sobrescribiendo, este estilo logrará lo que se propone hacer.
Otra opción es aplicar estos valores al HTML y los elementos del cuerpo. Debido a que todos los demás elementos en su página serán hijos de estos dos elementos, la cascada de CSS debe aplicar estos valores a todos esos otros elementos.
Esto iniciará su diseño en el mismo lugar en todos los navegadores, pero una cosa que debe recordar es que una vez que apague todos los márgenes y el relleno, tendrá que volver a encenderlos de manera selectiva para partes específicas de su página web para lograr el aspecto y siente que su diseño requiere.
Las fronteras
Puede estar pensando que "pero los navegadores no tienen un borde alrededor del elemento del cuerpo por defecto". Esto no es estrictamente cierto. Las versiones anteriores de Internet Explorer tienen un borde transparente o invisible alrededor de los elementos. A menos que establezca el borde en 0, ese borde puede desordenar sus diseños de página. Si ha decidido que continuará admitiendo estas versiones anticuadas de IE, deberá resolver esto agregando lo siguiente a su cuerpo y estilos de HTML:
HTML, cuerpo {margen: 0px;relleno: 0px; frontera: 0px;} De manera similar a como desactivó los márgenes y el relleno, este nuevo estilo también desactivará los bordes predeterminados. También puede hacer lo mismo utilizando el selector de comodines que se muestra anteriormente en el artículo. Artículo original de Jennifer Krynin. Editado por Jeremy Girard el 27/9/16.