What is viewport UI?

Viewport UI: Diseño Adaptativo Sin Complicaciones

20/11/2019

Valoración: 4.68 (2995 votos)

En el mundo del desarrollo web, crear una experiencia de usuario consistente y atractiva en la abrumadora variedad de dispositivos y tamaños de pantalla es uno de los mayores desafíos. El diseño adaptativo (o responsive design) no es una opción, es una necesidad. Tradicionalmente, las Media Queries de CSS han sido la herramienta de cabecera para esta tarea, pero no están exentas de problemas, especialmente cuando se trata de la compatibilidad con navegadores más antiguos. Aquí es donde entra en juego una solución ingeniosa y potente: Viewport UI, una herramienta diseñada para simplificar y universalizar el diseño adaptativo.

Is viewport compatible with all browsers?
Much like CSS Media Queries, this allows you to change your page's styling based on the width of the browser, but unlike Media Queries, Viewport is compatible with all browsers (*cough* IE) and allows for different target devices to share the same CSS. And when is saving code a bad idea? Well!
Índice de Contenido

¿Qué es Exactamente Viewport UI?

Viewport UI es un módulo de la librería AlloyUI que proporciona un método robusto y compatible con todos los navegadores para adaptar el diseño de una página web al tamaño de la pantalla del dispositivo. En esencia, su objetivo es el mismo que el de las Media Queries de CSS: aplicar estilos diferentes según el ancho de la ventana del navegador. Sin embargo, su enfoque es fundamentalmente distinto y, para muchos, más sencillo y seguro.

En lugar de depender de las reglas `@media` que algunos navegadores (especialmente versiones antiguas de Internet Explorer) interpretaban de forma inconsistente o simplemente ignoraban, Viewport UI utiliza JavaScript para detectar el ancho de la ventana y luego añade clases específicas al elemento `` de tu página. Esto significa que puedes controlar todo tu diseño adaptativo directamente desde tu hoja de estilos CSS, utilizando selectores de clase simples y universales que funcionan en cualquier navegador que soporte CSS básico.

La Ventaja Clave: Compatibilidad Universal

La razón principal para considerar Viewport UI es su increíble nivel de compatibilidad. Mientras que las Media Queries son el estándar moderno y funcionan perfectamente en todos los navegadores actuales, hubo una época en la que dar soporte a navegadores como Internet Explorer 8 y anteriores era una verdadera pesadilla para los desarrolladores. Estos navegadores simplemente no entendían las Media Queries, lo que obligaba a crear hojas de estilo separadas o a usar complejas soluciones de JavaScript (polyfills) para simular su comportamiento.

Viewport UI elimina este problema de raíz. Al ser una solución basada en JavaScript para aplicar clases, funciona de manera consistente en todos los entornos. Esto permite que diferentes dispositivos y navegadores compartan la misma hoja de estilos, simplificando enormemente el mantenimiento del código y reduciendo la cantidad de CSS que necesitas escribir. Menos código no solo significa un desarrollo más rápido, sino también un mejor rendimiento para el usuario final.

¿Cómo Funciona la Magia de Viewport UI?

El funcionamiento es sorprendentemente simple y elegante. Una vez que inicializas el módulo, este se encarga de monitorear el tamaño de la ventana del navegador. Cada vez que la página se carga o se redimensiona, el script evalúa el ancho y aplica un conjunto de clases predefinidas al elemento ``. Estas clases te permiten segmentar tus estilos de una manera muy intuitiva.

Las Clases Fundamentales de Viewport

El sistema se basa en cuatro anchos de página de uso común, que cubren la mayoría de los dispositivos:

  • 960px: Para ordenadores de escritorio y tabletas en modo horizontal.
  • 720px: Para tabletas en modo vertical.
  • 480px: Para smartphones en modo horizontal.
  • 320px: Para smartphones en modo vertical.

Para manejar estos tamaños, Viewport UI te proporciona las siguientes clases:

Clase CSSDescripción
.view-960Se aplica cuando el ancho es exactamente 960px o más, dentro del rango definido.
.view-720Se aplica para el rango de 720px.
.view-480Se aplica para el rango de 480px.
.view-320Se aplica para el rango de 320px.
.view-gt960 / .view-lt960Se aplica si el ancho es mayor que (gt) o menor que (lt) 960px.
.view-gt720 / .view-lt720Se aplica si el ancho es mayor que (gt) o menor que (lt) 720px.
.view-gt480 / .view-lt480Se aplica si el ancho es mayor que (gt) o menor que (lt) 480px.
.view-gt320 / .view-lt320Se aplica si el ancho es mayor que (gt) o menor que (lt) 320px.

Guía de Implementación Paso a Paso

Poner en marcha Viewport UI es un proceso increíblemente rápido. Solo necesitas seguir estos sencillos pasos.

Paso 1: Cargar las Dependencias

Primero, necesitas incluir los archivos de AlloyUI en el `head` de tu documento HTML. Esto incluye el núcleo de JavaScript y la hoja de estilos base de Bootstrap en la que se apoya.

<script src="https://cdn.alloyui.com/3.0.1/aui/aui-min.js"></script> <link href="https://cdn.alloyui.com/3.0.1/aui-css/css/bootstrap.min.css" rel="stylesheet">

Paso 2: Inicializar el Módulo Viewport

A continuación, añade un pequeño script para inicializar la librería y cargar el módulo `aui-viewport`. ¡Esto es todo el JavaScript que necesitarás escribir!

<script> YUI().use('aui-viewport'); </script>

Paso 3: Estilizar con las Clases en tu CSS

Ahora viene la parte divertida. Ve a tu hoja de estilos y comienza a usar las clases que Viewport UI ha añadido al elemento ``. Puedes ser tan creativo y específico como quieras.

Por ejemplo, podrías querer que el tamaño de la fuente sea más grande en pantallas de escritorio y más pequeño en móviles. También podrías decidir ocultar elementos pesados como vídeos o imágenes grandes en dispositivos pequeños para mejorar los tiempos de carga.

What is viewport UI?
Viewport offers a curated selection of inspiring UI designs, covering categories such as web, mobile, and desktop. Dive into a variety of UI concepts to spark your creativity, with examples from skilled designers in the industry. Explore Viewport UI, a Free tool for UI Inspiration. Design inspiration platform featuring UI trends from social media.
/* Estilos base para todos los dispositivos */ body { font-family: Arial, sans-serif; color: #333; } .mi-columna { width: 100%; padding: 15px; } /* Estilos para pantallas grandes (tablets y escritorios) */ .view-gt720 body { font-size: 16px; } .view-gt720 .mi-columna { width: 50%; float: left; } /* Estilos para pantallas pequeñas (móviles) */ .view-lt720 body { font-size: 14px; } /* Ocultar elementos no esenciales en pantallas muy pequeñas */ .view-lt480 .video-container, .view-lt480 .sidebar-ad { display: none; }

Como puedes ver, la sintaxis es limpia y muy fácil de leer. Simplemente prefijas tus selectores con la clase de viewport correspondiente.

Comparativa: Viewport UI vs. Media Queries

Para tener una visión más clara, comparemos directamente ambos métodos.

CaracterísticaViewport UIMedia Queries CSS
CompatibilidadExcelente. Funciona en todos los navegadores, incluyendo los más antiguos.Moderna. No compatible con navegadores muy antiguos (ej. IE8) sin polyfills.
SintaxisBasada en selectores de clase de CSS. Muy intuitiva.Utiliza la regla `@media`. Es el estándar, pero puede anidar reglas de forma compleja.
DependenciasRequiere la librería AlloyUI (JavaScript).Nativa de CSS. No requiere dependencias externas.
FlexibilidadLimitada a los anchos predefinidos (320, 480, 720, 960px).Totalmente flexible. Puedes definir cualquier `breakpoint` que necesites.

Preguntas Frecuentes (FAQ)

¿Necesito ser un experto en JavaScript para usar Viewport UI?

No, en absoluto. Como has visto, solo necesitas una línea de JavaScript para inicializar el módulo. El resto del trabajo se realiza íntegramente en tu archivo CSS, utilizando conocimientos que probablemente ya tienes.

¿Sigue siendo relevante Viewport UI hoy en día?

Es una pregunta válida. Con la práctica desaparición de los navegadores que no soportan Media Queries, la necesidad de una herramienta como Viewport UI ha disminuido para proyectos nuevos. Sin embargo, sigue siendo una herramienta fantástica para mantener o actualizar sitios web antiguos que deben dar soporte a un parque de navegadores obsoleto. Además, su enfoque basado en clases puede resultar más ordenado y legible para algunos desarrolladores.

¿El uso de JavaScript para esto no afecta el rendimiento?

El script de Viewport UI es muy ligero y está optimizado para el rendimiento. Se ejecuta muy rápidamente al cargar y al redimensionar la página, por lo que el impacto en el rendimiento es prácticamente imperceptible para el usuario final.


En conclusión, aunque las Media Queries se han consolidado como el estándar de facto para el diseño adaptativo, Viewport UI de AlloyUI sigue siendo una alternativa brillante y poderosa. Su simplicidad, su enfoque basado en clases y, sobre todo, su compatibilidad a prueba de balas lo convierten en una herramienta valiosa, especialmente para proyectos con requisitos de soporte para navegadores antiguos. Ofrece una forma limpia y organizada de pensar y ejecutar un diseño que se ve y funciona de maravilla en cualquier pantalla.

Si quieres conocer otros artículos parecidos a Viewport UI: Diseño Adaptativo Sin Complicaciones puedes visitar la categoría Juegos.

Subir