¡No uses display: none! Este método es más elegante y mejora la UX


Si eres de los que oculta elementos con display: none, tengo malas noticias: estás arruinando la accesibilidad y la experiencia del usuario. Pero no te preocupes, hoy te enseñaré formas más elegantes y eficientes para ocultar y mostrar elementos sin afectar la usabilidad ni el rendimiento de tu web.


¿Por qué deberías evitar display: none?

Aunque display: none parece la opción más fácil para esconder elementos, tiene varios inconvenientes:

Genera un salto de layout: Puede hacer que los elementos de la página cambien de posición bruscamente.

Elimina el elemento del DOM visual: Los lectores de pantalla no lo detectan.

Causa problemas de animación: Si intentas hacer un fade-in o slide-in, no funcionará correctamente.

Puede afectar la accesibilidad: Usuarios con tecnologías asistivas podrían no encontrar contenido relevante.


Alternativas elegantes a display: none

Usa opacity y visibility

Estos permiten ocultar elementos sin sacarlos del flujo del documento, lo que es ideal para efectos de animación.

.hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out;
}

.visible {
  opacity: 1;
  visibility: visible;
}
const element = document.querySelector(".my-element");
element.classList.toggle("hidden");

👉 ¿Por qué es mejor? Permite transiciones suaves sin afectar la estructura de la página.

Usa clip-path para esconder elementos

clip-path permite ocultar un elemento sin eliminarlo del flujo del DOM.

.hidden {
  clip-path: inset(100%);
  position: absolute;
}

👉 ¿Por qué es mejor? Es más accesible y funciona sin afectar la experiencia del usuario.

Usa height y overflow para ocultar sin romper el layout

Si necesitas un menú desplegable, mejor usa esta técnica en lugar de display: none:

.menu {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-in-out;
}

.menu.open {
  height: auto;
}
const menu = document.querySelector(".menu");
menu.classList.toggle("open");

👉 ¿Por qué es mejor? Evita cambios bruscos en el layout y mejora la fluidez de la UX.

Si bien display: none sigue siendo útil en algunos casos, no es la mejor opción para ocultar contenido de forma elegante y accesible. Utilizando técnicas como opacity, clip-path o height, puedes mejorar la experiencia del usuario sin sacrificar el rendimiento ni la accesibilidad.

💬 ¿Cuál de estas técnicas prefieres? ¿Usas otra estrategia para ocultar elementos? ¡Déjamelo en los comentarios!

Fernando Morales

/

CEO, Designed By We


Descubre más desde Designed By We

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Comparte tu aprecio
Fernando Morales
Fernando Morales

Soy Fernando Morales, un desarrollador web senior con más de 6 años de experiencia en la creación de soluciones tecnológicas innovadoras. A lo largo de mi carrera, he trabajado en una amplia variedad de proyectos, especializándome en tecnologías modernas como React, TypeScript, Laravel y la integración de APIs avanzadas. Mi enfoque siempre está en diseñar y construir aplicaciones escalables, eficientes y con interfaces que cautiven a los usuarios.

Me apasiona profundamente la tecnología, en especial el entorno iOS, donde combino creatividad y conocimiento técnico para explorar constantemente nuevas formas de mejorar la experiencia del usuario. Además, tengo una fuerte inclinación emprendedora que me ha llevado a fundar "Designed by We", una marca que refleja mi visión de construir proyectos digitales de calidad y estilo inigualables.

En cada proyecto, busco no solo implementar soluciones, sino también aportar valor a las personas y empresas con las que colaboro, siempre priorizando la sostenibilidad y la responsabilidad en mi trabajo. Si estás interesado en tecnología, desarrollo web o quieres llevar tu idea al siguiente nivel, estoy aquí para colaborar y crear algo extraordinario juntos.

Artículos: 30

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Descubre más desde Designed By We

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo