¿Por qué resetear el CSS?

 


Cada navegador (Chrome, Firefox, Safari, etc.) tiene sus estilos por defecto. Por ejemplo:

  • Los <h1> tienen márgenes superiores e inferiores

  • El <body> tiene un margen de 8px aproximadamente

  • Las listas <ul> tienen un padding-left para los puntos

Esto hace que tu página se vea ligeramente diferente en cada navegador. El reset CSS elimina estas diferencias para que tú tengas el control total.

Tu código está BIEN, pero...

css
* {
    margin: 0;
    padding: 0;
}

Este selector universal (*) selecciona todos los elementos y les quita los márgenes y paddings. ¡Funciona perfectamente! Sin embargo, tiene una limitación importante que mencionaré después.

Reset CSS Mejorado (el que usan muchos profesionales)

Aquí tienes una versión más completa que soluciona problemas comunes:

css
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* ¡Esto es clave! */
}

/* Opcional: También resetear la tipografía del body */
body {
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5; /* Mejor legibilidad */
}

¿Por qué el box-sizing: border-box es tan importante?

Sin box-sizing: border-box, cuando le pones un padding o border a un elemento, este se hace más grande de lo que esperabas.

Ejemplo sin border-box:

css
.caja {
    width: 200px;
    padding: 20px;
    /* El ancho REAL será: 200px + 20px(izq) + 20px(der) = 240px */
}

Ejemplo CON border-box:

css
* {
    box-sizing: border-box;
}

.caja {
    width: 200px;
    padding: 20px;
    /* El ancho REAL sigue siendo 200px (el padding se resta internamente) */
}

Resets CSS Famosos

Existen resets más completos creados por expertos que puedes copiar:

1. El de Eric Meyer (muy popular)

css
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* ... y más estilos */

2. El de Normalize.css (más moderno)

No es un reset que elimina todo, sino que normaliza los estilos para que sean consistentes. Es el que usa Bootstrap, Tailwind, etc.

Puedes descargarlo de https://necolas.github.io/normalize.css/ o instalarlo vía npm.

Recomendación para empezar

Para tu nivel actual, tu código está perfecto. Solo te sugiero agregar el box-sizing:

css
/* Reset básico y efectivo */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Estilos base para tu proyecto */
body {
    background-color: #fff;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    line-height: 1.6;
    color: #333;
}

Este reset:

  • ✅ Elimina márgenes y paddings molestos

  • ✅ Hace que el padding no descontrole tus medidas

  • ✅ No es demasiado agresivo

  • ✅ Fácil de recordar y usar

¡Y lo mejor es que funciona en el 99% de los casos! ¿Te sirvió la explicación?

Comentarios

Entradas más populares de este blog

Tutorial de CSS: De Cero a Estilizar tu Primera Página Web

layouts

Proyecto Práctico: Tarjeta de Perfil