# Deslizador

> Control para elegir un valor o un rango arrastrando: marcas, varias manijas, vertical y deshabilitado.

Categoría: Formularios · Solar v0.8.0

Usa este HTML tal cual, con Tailwind y ccs-tailwind-config.js cargados (ver https://utiliza.me/solar/instalacion.html).

## Guía: Cuándo usarlo

- Para rangos aproximados: precio, distancia, cantidad.
- Si el valor exacto importa, suma un campo de número.
- No para elegir entre pocas opciones con nombre: usa radios.

## Un valor

```html
<div class="flex flex-wrap items-start justify-center gap-8"><div class="w-full max-w-sm"><div class="flex items-center justify-between mb-2"><span id="sl1-l" class="text-sm font-medium">Presupuesto máximo</span><output class="text-sm tabular-nums text-ccs-slate dark:text-ccs-dark-text-2">$500.000</output></div><div class="relative py-2 "><div class="relative h-1.5 w-full rounded-full bg-ccs-line dark:bg-ccs-dark-line"><span class="absolute inset-y-0 rounded-full bg-ccs-blue dark:bg-ccs-dark-accent left-[0%] right-[50%]"></span></div><span role="slider" tabindex="0" aria-labelledby="sl1-l" aria-valuemin="0" aria-valuemax="100" aria-valuenow="50" aria-valuetext="$500.000"  class="absolute top-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none left-[50%]"></span></div></div></div>
```

## Rango

```html
<div class="flex flex-wrap items-start justify-center gap-8"><div class="w-full max-w-sm"><div class="flex items-center justify-between mb-2"><span id="sl2-l" class="text-sm font-medium">Rango de precio</span><output class="text-sm tabular-nums text-ccs-slate dark:text-ccs-dark-text-2">$200.000 – $800.000</output></div><div class="relative py-2 "><div class="relative h-1.5 w-full rounded-full bg-ccs-line dark:bg-ccs-dark-line"><span class="absolute inset-y-0 rounded-full bg-ccs-blue dark:bg-ccs-dark-accent left-[20%] right-[20%]"></span></div><span role="slider" tabindex="0" aria-labelledby="sl2-l" aria-valuemin="0" aria-valuemax="100" aria-valuenow="20" aria-valuetext="$200.000"  class="absolute top-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none left-[20%]"></span><span role="slider" tabindex="0" aria-labelledby="sl2-l" aria-valuemin="0" aria-valuemax="100" aria-valuenow="80" aria-valuetext="$800.000"  class="absolute top-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none ring-4 ring-ccs-blue/15 dark:ring-ccs-dark-accent/25 left-[80%]"></span></div><p class="text-xs mt-1.5 text-ccs-slate dark:text-ccs-dark-text-2 mt-2">Elige entre $0 y $1.000.000.</p></div></div>
```

## Con marcas

```html
<div class="flex flex-wrap items-start justify-center gap-8"><div class="w-full max-w-sm"><div class="flex items-center justify-between mb-2"><span id="sl3-l" class="text-sm font-medium">Distancia</span><output class="text-sm tabular-nums text-ccs-slate dark:text-ccs-dark-text-2">10 km</output></div><div class="relative py-2 "><div class="relative h-1.5 w-full rounded-full bg-ccs-line dark:bg-ccs-dark-line"><span class="absolute inset-y-0 rounded-full bg-ccs-blue dark:bg-ccs-dark-accent left-[0%] right-[60%]"></span></div><span role="slider" tabindex="0" aria-labelledby="sl3-l" aria-valuemin="0" aria-valuemax="25" aria-valuenow="10" aria-valuetext="10 km"  class="absolute top-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none left-[40%]"></span></div><div class="relative mt-3 h-4 text-xs text-ccs-slate dark:text-ccs-dark-text-2" aria-hidden="true"><span class="absolute -translate-x-1/2 left-[0%]">0</span><span class="absolute -translate-x-1/2 left-[20%]">5</span><span class="absolute -translate-x-1/2 left-[40%]">10</span><span class="absolute -translate-x-1/2 left-[60%]">15</span><span class="absolute -translate-x-1/2 left-[80%]">20</span><span class="absolute -translate-x-1/2 left-[100%]">25 km</span></div></div></div>
```

## Varias manijas

```html
<div class="flex flex-wrap items-start justify-center gap-8"><div class="w-full max-w-sm"><div class="flex items-center justify-between mb-2"><span id="sl4-l" class="text-sm font-medium">Tramos de venta</span><output class="text-sm tabular-nums text-ccs-slate dark:text-ccs-dark-text-2">20 · 50 · 80</output></div><div class="relative py-2 "><div class="relative h-1.5 w-full rounded-full bg-ccs-line dark:bg-ccs-dark-line"><span class="absolute inset-y-0 rounded-full bg-ccs-blue dark:bg-ccs-dark-accent left-[20%] right-[20%]"></span></div><span role="slider" tabindex="0" aria-labelledby="sl4-l" aria-valuemin="0" aria-valuemax="100" aria-valuenow="20" aria-valuetext="20"  class="absolute top-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none left-[20%]"></span><span role="slider" tabindex="0" aria-labelledby="sl4-l" aria-valuemin="0" aria-valuemax="100" aria-valuenow="50" aria-valuetext="50"  class="absolute top-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none left-[50%]"></span><span role="slider" tabindex="0" aria-labelledby="sl4-l" aria-valuemin="0" aria-valuemax="100" aria-valuenow="80" aria-valuetext="80"  class="absolute top-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none left-[80%]"></span></div></div></div>
```

## Vertical

```html
<div class="flex flex-wrap items-start justify-center gap-8"><div class="flex items-end gap-10 h-48"><div class="flex flex-col items-center gap-2 h-full"><div class="relative w-1.5 flex-1 rounded-full bg-ccs-line dark:bg-ccs-dark-line"><span class="absolute inset-x-0 bottom-0 rounded-full bg-ccs-blue dark:bg-ccs-dark-accent h-[40%]"></span><span role="slider" tabindex="0" aria-orientation="vertical" aria-label="Graves" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" class="absolute left-1/2 -translate-x-1/2 translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none bottom-[40%]"></span></div><span class="text-xs text-ccs-slate dark:text-ccs-dark-text-2">Graves</span></div><div class="flex flex-col items-center gap-2 h-full"><div class="relative w-1.5 flex-1 rounded-full bg-ccs-line dark:bg-ccs-dark-line"><span class="absolute inset-x-0 bottom-0 rounded-full bg-ccs-blue dark:bg-ccs-dark-accent h-[70%]"></span><span role="slider" tabindex="0" aria-orientation="vertical" aria-label="Medios" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100" class="absolute left-1/2 -translate-x-1/2 translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none bottom-[70%]"></span></div><span class="text-xs text-ccs-slate dark:text-ccs-dark-text-2">Medios</span></div><div class="flex flex-col items-center gap-2 h-full"><div class="relative w-1.5 flex-1 rounded-full bg-ccs-line dark:bg-ccs-dark-line"><span class="absolute inset-x-0 bottom-0 rounded-full bg-ccs-blue dark:bg-ccs-dark-accent h-[55%]"></span><span role="slider" tabindex="0" aria-orientation="vertical" aria-label="Agudos" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100" class="absolute left-1/2 -translate-x-1/2 translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none bottom-[55%]"></span></div><span class="text-xs text-ccs-slate dark:text-ccs-dark-text-2">Agudos</span></div></div></div>
```

## Deshabilitado

```html
<div class="flex flex-wrap items-start justify-center gap-8"><div class="w-full max-w-sm"><div class="flex items-center justify-between mb-2"><span id="sl5-l" class="text-sm font-medium">Presupuesto máximo</span><output class="text-sm tabular-nums text-ccs-slate dark:text-ccs-dark-text-2">$300.000</output></div><div class="relative py-2 opacity-50 cursor-not-allowed"><div class="relative h-1.5 w-full rounded-full bg-ccs-line dark:bg-ccs-dark-line"><span class="absolute inset-y-0 rounded-full bg-ccs-blue dark:bg-ccs-dark-accent left-[0%] right-[70%]"></span></div><span role="slider" tabindex="-1" aria-labelledby="sl5-l" aria-valuemin="0" aria-valuemax="100" aria-valuenow="30" aria-valuetext="30" aria-disabled="true" class="absolute top-1/2 -translate-x-1/2 -translate-y-1/2 block w-5 h-5 rounded-full border-2 border-ccs-blue bg-white shadow-ccs-sm transition hover:ring-4 hover:ring-ccs-blue/15 dark:border-ccs-dark-accent dark:bg-ccs-dark-bg dark:hover:ring-ccs-dark-accent/25 outline-none left-[30%]"></span></div></div></div>
```

## Guía: Comportamiento

Cada manija es role="slider" con aria-valuenow y aria-valuetext en palabras ("$500.000", no "50"). Flechas mueven un paso; Re Pág y Av Pág, diez; Inicio y Fin, al mínimo y al máximo. Si el valor exacto importa, se suma un campo de número al lado: arrastrar a un valor preciso es difícil (WCAG 2.5.7, movimientos de arrastre).
