Ana TorresDiseñadora de interiores
HTML + CSSOverlays

Recortar foto de perfil en un modal

Un editor oscuro con máscara circular: arrastras para encuadrar, haces zoom y giras, y las vistas previas cambian al momento.

Ajustes

16px
1x

Código

<div class="uvq13-crp"><div class="pf"><span class="pv cur" aria-hidden="true"><i class="im"></i></span><span class="who"><b>Ana Torres</b><small>Diseñadora de interiores</small></span><button type="button" class="fire" aria-haspopup="dialog">Cambiar foto</button></div><div class="ln" aria-hidden="true"><i></i><i></i><i class="s"></i></div><div class="scr"></div><div class="dl" role="dialog" aria-modal="true" aria-labelledby="uvq13-crp-t"><header><b id="uvq13-crp-t">Recortar foto</b><span class="pvs" aria-hidden="true"><span class="pv p1"><i class="im"></i></span><span class="pv p2"><i class="im"></i></span></span></header><div class="ar" tabindex="0" role="group" aria-label="Área de recorte" aria-describedby="uvq13-crp-h"><i class="im"></i><i class="mk"></i></div><p class="hn" id="uvq13-crp-h">Arrastra para encuadrar</p><div class="zm"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="6.5"/><path d="M20 20l-4.2-4.2M8.5 11h5"/></svg><input type="range" min="100" max="300" step="1" aria-label="Zoom"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="6.5"/><path d="M20 20l-4.2-4.2M8.5 11h5M11 8.5v5"/></svg><button type="button" class="rt" aria-label="Girar 90 grados"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4.5 12a7.5 7.5 0 1 0 2.2-5.3M4.5 4v4h4"/></svg></button></div><div class="ac"><button type="button" class="cn">Cancelar</button><button type="button" class="ok">Guardar foto</button></div></div></div>

Prompt para IA

Pégalo en ChatGPT, Claude o Cursor y adaptará el bloque a tu proyecto con estos ajustes, aunque no uses React.

Versión Markdown con todo el código, para asistentes de IA

Más en Overlays

Ver todos: Overlays

Dónde usarlo

Subir una foto de perfil suele acabar en un paso de recorte, y este modal lo hace agradable. La foto queda bajo una máscara circular con el exterior oscurecido, aparece una cuadrícula de tercios mientras arrastras y el deslizador de zoom, la rueda del ratón y un botón de giro cambian el encuadre. Encaja en registros, ajustes y directorios de equipo.

El color principal es el del botón de guardar y el anillo de foco, el secundario el fondo del editor. La imagen nunca deja huecos en el círculo, las flechas y las teclas más y menos funcionan desde el teclado, y al guardar el encuadre pasa al avatar de la página.