STATUS IS UPWIKI DE OPTIMIZACIÓN WEB
18Acelerar
Rendimiento y entrega / Acelerar

Imágenes responsivas con srcset y sizes

Ayuda al navegador a elegir una imagen que coincida con el espacio de diseño real en lugar de enviar un original sobredimensionado a todos los visitantes.

Imágenes responsivas con srcset y sizes — GUÍA VISUAL
LEER
8 minutos
FUENTES
6
REVALIDAR
2027-03-27
revisado
Revisor de rendimiento web y accesibilidad
LA RESPUESTA BREVE

Empieza con la decisión.

Usa srcset y sizes cuando la misma imagen aparece con anchos renderizados distintos en un diseño responsivo. srcset enumera candidatos de imagen y sus anchos intrínsecos; sizes describe el ancho esperado de la ranura (slot) de la imagen en cada condición de diseño. El navegador usa esa estimación de tamaño de fuente junto con la densidad de pantalla, el zoom y otras condiciones para seleccionar un candidato. Una tarjeta pequeña en móvil puede así evitar descargar el original de escritorio, mientras que una pantalla grande o de alta densidad puede elegir un candidato más nítido cuando está disponible.

Parte del diseño CSS del componente, no de una lista genérica de dispositivos. Mide la ranura en cada punto de quiebre, genera candidatos verídicos y haz que sizes refleje esa ranura. Usa descriptores x (densidad) solo para una ranura CSS fija. Usa picture cuando una pantalla más pequeña necesite un recorte distinto, en vez de simplemente un archivo más pequeño. Verifica la petición real con una recarga con caché vacía. Esta optimización proactiva reduce transferencia de imagen evitable antes del lanzamiento, pero no garantiza velocidad, disponibilidad ni la fiabilidad del host de imágenes.

GUÍA VISUAL

Ve el trabajo como un sistema.

Usa este mapa para conectar las decisiones del artículo antes de actuar sobre tácticas individuales.

SIUAcelerar
01Elige el patrón correcto
02Entiende cómo sizes guía la selección
03Deriva los candidatos del diseño real
04Usa picture para dirección artística
01

Elige el patrón correcto

El cambio por resolución mantiene la composición igual y ofrece varios anchos de archivo. Es el patrón habitual para fotos de producto, figuras de artículo y tarjetas. Usa descriptores de ancho como 480w o 1200w cuando el ancho renderizado cambia con el diseño. El número es el ancho real en píxeles del archivo, no un objetivo de teléfono ni una orden de CSS.

El cambio por densidad sirve una ranura CSS fija con más píxeles fuente para una pantalla de mayor densidad. Sus descriptores son 1x, 1.5x o 2x, y conviene para un logo o ícono que, por ejemplo, siempre mide 160 CSS pixels de ancho. No mezcles descriptores de ancho y densidad en un mismo srcset.

Ranura fluida

Usa descriptores w con sizes cuando un componente crece o se reduce.

Ranura fija

Usa descriptores x sin sizes solo cuando el tamaño renderizado en CSS sea estable.

02

Entiende cómo sizes guía la selección

Con descriptores de ancho, el navegador evalúa sizes antes de descargar una imagen. Cada entrada empareja una condición media opcional con una longitud. La primera condición coincidente suministra el source size; la longitud incondicional final es la reserva. sizes es una pista para la selección, no una regla de CSS.

El navegador compara ese source size con los anchos candidatos para calcular la densidad efectiva, luego puede considerar la densidad de pantalla, el zoom y las condiciones de red. No está obligado a elegir el nombre de archivo matemáticamente más cercano. Proporciona candidatos honestos y una estimación de ranura creíble; la selección final sigue siendo decisión del agente de usuario.

El orden importa

La primera condición media coincidente gana, así que escribe la lista en el orden que haga correcta esa primera coincidencia.

Evita el 100vw generalizado

Una tarjeta de escritorio de un tercio descrita como ancho del viewport puede desencadenar un candidato innecesariamente grande.

03

Deriva los candidatos del diseño real

Inventaría componentes, no páginas. Un hero, figura editorial, galería de producto, miniatura de búsqueda y logo de pie de página suelen tener anchos de ranura distintos. Para cada uno, registra el ancho renderizado estrecho y el mayor, la relación de aspecto, el comportamiento de recorte y la visibilidad inicial en pantalla.

Genera anchos en torno al rango significativo de la ranura del componente, con una opción mayor cuando el detalle justifique renderizado de alta densidad. Archivos casi idénticos añaden complejidad al build y la caché; solo un archivo muy pequeño y otro muy grande fuerzan un compromiso. Prueba las URLs generadas en vez de asumir que las transformaciones de imagen funcionan.

Mantén un src de reserva válido y valores width y height que coincidan con la proporción entregada. Reservan espacio pero no impiden que el CSS responsivo cambie las dimensiones finales.

Descriptores veraces

Un candidato anunciado como 800w debe ser realmente 800 píxeles de ancho.

Contrato del componente

Mantén la ranura y el plan de candidatos junto con los cambios de plantilla y diseño.

04

Usa picture para dirección artística

La dirección artística cambia la composición, no solo el tamaño del archivo. Una foto amplia en paisaje puede necesitar un recorte más apretado en retrato en una pantalla estrecha para que el sujeto siga siendo visible. El elemento picture puede ofrecer opciones específicas por media, seguidas por un img de reserva. El navegador considera la media, el type y la información srcset de cada source; el img lleva el texto alternativo, dimensiones y el comportamiento de reserva.

Prepara cada recorte con revisión editorial y de accesibilidad. Un recorte móvil puede eliminar un detalle de producto o a una persona mencionada en el texto alternativo. Pon alt en el img y describe la información o función que la imagen transmite. Usa alt="" solo para una imagen genuinamente decorativa; para una imagen enlazada o botón, describe la acción en lugar de la apariencia. No introduzcas picture cuando el recorte no cambia: un srcset basado en ancho ordinario es más sencillo.

Buen uso

Un hero de escritorio cargado necesita un recorte en retrato distinto para un teléfono.

Fuentes por formato

Un source en picture puede ofrecer una pista de type y preservar un img de reserva ampliamente usable.

05

Evita cargas y marcado costosos

El desperdicio habitual es copiar sizes="100vw" a cada imagen. Eso puede encajar en una figura estrecha a pantalla completa pero no en un contenedor con límite ni en una tarjeta de escritorio. El fallo opuesto es sizes obsoletos tras un rediseño. Cambia CSS y sizes juntos.

No cargues perezosamente (lazy-load) una imagen importante en el contenido inicialmente visible. La guía recomienda lazy-loading para imágenes por debajo del pliegue y mantener el hero visible como eager. Fetch priority puede elevar una imagen verdaderamente vital, pero reglas amplias de alta prioridad o preload pueden perjudicar el rendimiento. No confíes en nombres de archivo o resultados en caché como prueba.

Regresión con caché fría

Un CMS, proxy o caché puede ocultar un descriptor erróneo o una petición de imagen no intencionada.

Texto en imágenes

No hagas que texto esencial de la página dependa solo de un recorte dirigido artísticamente.

06

Prueba la petición, el recorte y la reparación

Prueba páginas representativas en anchos de cambio de diseño, incluyendo justo por encima y por debajo de un punto de quiebre del grid. Incluye una configuración de alta densidad, escritorio ancho y estados que alteren la ranura. Confirma dimensiones renderizadas, recorte, texto alternativo y nitidez visual.

En Chrome DevTools, abre Network, recarga con caché deshabilitada o usa "Empty Cache And Hard Reload", filtra las peticiones de imagen e inspecciona URL, tamaño transferido, cabeceras, iniciador y tiempos. Estrangula (throttle) para revelar trabajo tardío o desperdiciado. Registra viewport, device scale factor, ranura, candidato, bytes transferidos y resultado esperado.

Cuando una plantilla, punto de quiebre, CDN o pipeline de activos cambie, haz de esto una puerta de lanzamiento. Repara de forma estrecha: corrige sizes, arregla un descriptor, regenera un recorte, restaura una reserva o elimina un preload innecesario. Vuelve a probar con una recarga con caché vacía.

Observa en vez de inferir

El panel Network registra el candidato que realmente se solicitó.

Límite del alcance

Esto verifica el comportamiento de entrega de imágenes, no la capacidad del origen, la disponibilidad del CDN ni el tiempo de actividad general.

07

Aplica esto como control de resiliencia SIU

Las imágenes responsivas reducen transferencia evitable pero no pueden garantizar una petición exitosa. Errores de origen, transformaciones no disponibles, hosts de terceros y fallos de CDN requieren planificación separada de continuidad y recuperación.

Para SIU, usa registros de prueba para detectar regresiones de entrega temprano, identificar la plantilla o regla de transformación responsable y hacer la corrección más pequeña y segura antes del lanzamiento. Empareja esto con pruebas de disponibilidad previas al despliegue y planificación de rollback.

Responsabilidad

Asigna un propietario del componente y de la canalización de imágenes para cada verificación de selección fallida.

ACCIÓN / VERIFICAR

Tu guía práctica de tareas.

  1. 01

    Clasifica cada componente

    Márcalo como fluido, ranura fija, dirigido artísticamente, decorativo, funcional o contenido visible crítico.

    VERIFICAR: Los registros de inventario incluyen rango de ranura, regla de recorte y propietario.
  2. 02

    Mide las ranuras

    Inspecciona el grid en producción o similar en estados estrechos, medios y anchos.

    VERIFICAR: Los anchos de caja CSS registrados incluyen límites, huecos y barras laterales.
  3. 03

    Elige descriptores

    Usa w con sizes para ranuras fluidas o x para ranuras fijas; no los mezcles.

    VERIFICAR: Cada srcset usa un único tipo de descriptor.
  4. 04

    Escribe sizes desde el CSS

    Usa condiciones de primera coincidencia y una reserva incondicional que describa la ranura.

    VERIFICAR: El valor coincidente es creíble en cada viewport probado.
  5. 05

    Valida los activos

    Comprueba que cada candidato existe y coincide con su ancho intrínseco declarado.

    VERIFICAR: Las peticiones directas devuelven los archivos previstos y una reserva válida.
  6. 06

    Reserva espacio

    Proporciona valores width y height coincidentes y CSS responsivo que preserve la proporción.

    VERIFICAR: La llegada de la imagen no provoca movimiento evitables del contenido circundante.
  7. 07

    Revisa la dirección artística

    Comprueba cada recorte específico por media y su texto alternativo en img.

    VERIFICAR: Los sujetos importantes permanecen visibles y la alternativa sigue siendo precisa.
  8. 08

    Establece la prioridad deliberadamente

    Haz lazy-load de imágenes por debajo del pliegue; evita reglas amplias de alta prioridad y preload.

    VERIFICAR: El verdadero hero visible se solicita con prontitud sin competencia innecesaria.
  9. 09

    Captura evidencia de caché fría

    Usa filtrado de imágenes en DevTools, recargas con caché deshabilitada y viewports representativos.

    VERIFICAR: La evidencia de lanzamiento registra candidato seleccionado, ranura, tamaño transferido y recorte.
  10. 10

    Planifica la remediación

    Asigna una corrección dirigida o rollback para cambios de plantilla y pipeline de imágenes.

    VERIFICAR: Cada fallo tiene un propietario y una prueba con caché fría exitosa tras la corrección.
TEMAS DE DISCUSIÓN

Compara las ventajas y desventajas; no compartas datos privados.

Usa estas preguntas con tu equipo o la comunidad de propietarios del sitio. Comparte métodos y lecciones, pero nunca pegues credenciales, registros de clientes ni detalles de infraestructura no públicos.

  1. 01

    ¿Qué componente de tu sitio tiene la mayor brecha entre los píxeles descargados y su ranura renderizada habitual, y cómo podrías medirlo de forma segura?

  2. 02

    ¿Cómo deciden vuestros diseñadores, propietarios del CMS y equipo frontend cuándo un recorte móvil es dirección artística y no simplemente un cambio de tamaño?

  3. 03

    ¿Qué evidencia haría que una regresión en imágenes responsivas sea fácil de aprobar o revertir durante la revisión de lanzamiento sin compartir datos de clientes?

RECURSOS POPULARES / DE REFERENCIA

Consulta el material fuente.

WHATWGImages in the HTML Standard ↗

Reglas primarias para descriptores, selección de source-size, reservas y elección de navegador.

Revisado 2026-09-27
MDN Web DocsUsing responsive images in HTML ↗

Guía práctica sobre srcset, sizes, cambio por densidad, dirección artística y pruebas.

Revisado 2026-09-27
web.devResponsive images ↗

Orientación de Google sobre dimensiones, carga, descriptores y restricciones de diseño.

Revisado 2026-09-27
MDN Web Docspicture HTML picture element ↗

Referencia sobre selección por media y type, dirección artística, sizes y reservas.

Revisado 2026-09-27
Chrome for DevelopersInspect network activity ↗

Instrucciones para peticiones, transferencias, throttling, filtrado y recargas con caché vacía (Empty Cache And Hard Reload).

Revisado 2026-09-27
W3C Web Accessibility InitiativeImages Tutorial ↗

Guía para imágenes significativas, decorativas, funcionales y textuales.

Revisado 2026-09-27

Política de fuentes. Las afirmaciones sobre la sintaxis de imágenes responsivas y la selección del navegador se basan en los estándares oficiales y la documentación listada a continuación. Valida el marcado, los anchos de los candidatos y el diseño renderizado en las plantillas reales del sitio antes del lanzamiento.

ACLARACIONES RÁPIDAS

Preguntas comunes.

¿Necesito sizes siempre que uso srcset?

Usa sizes con descriptores de ancho porque el navegador necesita una estimación de source-size para una ranura fluida. Un srcset de densidad para ranura fija usa descriptores x y no necesita sizes. Nunca mezcles los dos tipos de descriptor en un mismo conjunto de fuentes.

¿Cambia sizes el ancho CSS de una imagen?

No. sizes es una pista previa a la carga. El CSS y el diseño del componente determinan la caja renderizada, por eso sizes debe mantenerse siempre que ese diseño cambie.

¿Debería usar picture en toda imagen responsiva?

No. Usa srcset basado en ancho cuando la composición no cambia entre tamaños. Usa picture cuando una condición media requiere un recorte distinto o una fuente específica por formato, manteniendo un img de reserva usable.

Status Is UP Editorial Team · Uptime Enablement Editors

Revisado por Revisor de rendimiento web y accesibilidad. Publicado 2026-09-27; actualizado 2026-09-30.