CodeForge

Maquetación Web Dinámica / CSS3 fundamentos: la piel

Display: block, inline, inline-block y none vs visibility

Teoría18 min20 XP

¿Por qué dos div se apilan uno debajo del otro y dos a conviven en la misma línea? No es magia ni capricho: es la propiedad display, el interruptor que define cómo se comporta cada caja frente a sus vecinas. Hoy entiendes las tres personalidades básicas — la base sobre la que flex y grid construirán después.

Las tres personalidades

  • block: ocupa TODO el ancho disponible y empuja a lo siguiente a una línea nueva. Acepta width, height, márgenes completos. Son block por defecto: div, p, h1-h6, section, article, ul, form.
  • inline: fluye DENTRO del texto, mide lo que mide su contenido, e ignora width, height y márgenes verticales. Son inline: a, span, strong, em.
  • inline-block: el híbrido — fluye en línea como inline, pero acepta dimensiones como block.

El caso de uso clásico de inline-block está en el ejemplo: convertir enlaces en botones. Un a es inline (no acepta padding vertical de forma confiable); con display: inline-block obtiene cuerpo de botón sin perder su lugar en la línea.

Ocultar: none vs visibility vs opacity

Tres formas de "desaparecer" algo, tres resultados distintos:

ocultar.css

La diferencia importa para accesibilidad y animaciones: display: none también lo oculta de los lectores de pantalla; visibility: hidden igual, pero conserva el hueco; opacity: 0 lo deja presente a TODO (foco de teclado incluido — cuidado con botones invisibles clickeables). Además, display no se puede animar con transiciones; opacity sí — por eso las animaciones de aparición usan opacity (módulo 10).

Quieres ocultar un mensaje de error pero que el formulario no 'salte' cuando aparezca. ¿Qué usas?

Mini-reto

Convierte los enlaces del nav de tu periódico en "pastillas": display: inline-block, padding, fondo de color y border-radius. Luego experimenta en DevTools: cámbiale el display a un h2 (inline) y a un enlace (block) y observa cómo se reacomoda todo el flujo.

Qué sigue

Última lección teórica del módulo: qué pasa cuando el contenido no cabe en su caja (overflow) y las dos propiedades modernas que domestican imágenes: object-fit y aspect-ratio.