Utilidades · Visibilidad
Visibility (mostrar u ocultar)
Muestra u oculta un elemento sin cambiar el espacio que ocupa, con variantes para interacción, impresión y ocho anchos responsive.
Conserva el espacio
visibility: hidden oculta el contenido, pero su caja continúa reservada en el layout.
Ocho breakpoints
Las variantes responsive se activan hasta el ancho indicado porque utilizan max-width.
Control de impresión
Las clases *-print cambian la visibilidad únicamente al imprimir el documento.
Código + resultado
Compara visible e invisible
El segundo ejemplo mantiene tres columnas: la central existe y reserva espacio aunque su contenido no se vea.
<div>
<span>01</span>
<span class="visible">02</span>
<span>03</span>
</div>.visible aplica visibility: visible; el elemento se dibuja y participa normalmente en el layout.
Mapa del sistema
Cuatro contextos de aplicación
La propiedad siempre es visibility; el nombre de la clase determina cuándo se aplica.
.visible.invisibleEstado permanente
Aplica la visibilidad mientras la clase permanezca en el elemento.
.*-hover.*-focusEstado temporal
Cambia la visibilidad únicamente durante :hover o :focus.
.*-{bp}Hasta un ancho
Se activa dentro de un media query con max-width.
.*-printSólo al imprimir
No modifica la pantalla; se evalúa dentro de @media print.
Hover y focus
Estados disponibles con una limitación importante
Las cuatro clases existen en el framework, pero ocultar el mismo elemento que produce el estado puede interrumpir hover o focus.
.visible-hover
Visible durante hover
Aplica visibility: visible cuando el propio elemento recibe el puntero. Un elemento ya oculto no suele poder iniciar ese hover por sí mismo.
:hover y muestra al hijo sin parpadeo.
.invisible-hover
Invisible durante hover
Oculta el elemento al pasar el puntero. Al dejar de participar en hit testing puede perder el estado y producir parpadeo.
.visible-focus
Visible durante focus
Aplica visibilidad cuando el elemento recibe foco. Si ya está oculto, normalmente no podrá enfocarse directamente.
.invisible-focus
Invisible durante focus
Oculta el elemento enfocado y puede provocar la pérdida inmediata del foco.
hover o focus al ocultarlo.hover:, focus: y otras variantes, consulta la documentación de States.Variantes responsive
Ocho límites con max-width
Agrega el breakpoint al final. La clase se activa cuando el viewport es igual o menor al valor indicado.
max-width.invisible-640max-width.invisible-768max-width.invisible-1024max-width.invisible-1280max-width.invisible-1536max-width.invisible-2560max-width.invisible-3840max-width.invisible-6016.visible-{bp}, .invisible-{bp}, sus variantes -hover-{bp} y -focus-{bp}.Impresión
La pantalla no cambia
Estas clases sólo producen efecto al imprimir o al abrir la vista previa de impresión.
.visible-printMuestra al imprimir
Aplica visibility: visible dentro de @media print.
.invisible-printOculta al imprimir
Aplica visibility: hidden sin desmontar la estructura impresa.
Referencia
Clases disponibles
La tabla contiene únicamente familias presentes en visibility.css.
| Clases | Momento | Valor | Comportamiento |
|---|---|---|---|
.visible | Siempre | visibility: visible | Muestra el elemento y conserva su espacio. |
.invisible | Siempre | visibility: hidden | Oculta el elemento y conserva su espacio. |
.visible-hover / .invisible-hover | :hover | visible / hidden | Cambia mientras el propio elemento mantiene hover. |
.visible-focus / .invisible-focus | :focus | visible / hidden | Cambia mientras el propio elemento mantiene focus. |
.visible-print / .invisible-print | Impresión | visible / hidden | Se aplica sólo dentro de @media print. |
.visible-{bp} / .invisible-{bp} | max-width | visible / hidden | Estado responsive hasta el límite indicado. |
.visible-hover-{bp} / .invisible-hover-{bp} | Hover responsive | visible / hidden | Combina el estado hover con max-width. |
.visible-focus-{bp} / .invisible-focus-{bp} | Focus responsive | visible / hidden | Combina el estado focus con max-width. |
Recomendaciones
Buenas prácticas de visibility
Elige por espacio
Usa visibility sólo cuando el hueco del elemento deba permanecer en el layout.
No ocultes interacción
Un control invisible no debería continuar disponible para teclado, lectores o eventos.
Lee el breakpoint
El número es un límite máximo, no el punto desde el cual comienza el estilo.
Prueba la impresión
Comprueba la vista previa: invisible conserva espacio también en el documento impreso.