La Etiqueta METER

Representa una medición escalar dentro de un rango definido.
La etiqueta <meter>
representa una medición escalar dentro de un rango definido, como:
-
Uso de almacenamiento en disco.
-
Puntuación de una reseña.
-
Nivel de batería.
-
Progreso de una meta (no confundir con
<progress>
).
Características clave:
-
Es semántica: describe un valor en contexto.
-
Los navegadores la muestran como una barra gráfica.
-
Admite atributos para definir rangos y valores óptimos.
Sintaxis básica
<meter value="valor-actual" min="valor-mínimo" max="valor-máximo" low="límite-bajo"
high="límite-alto" optimum="valor-ideal">
</meter>
Atributos principales
Atributo | Descripción |
---|---|
value |
Obligatorio. Valor actual (ej: 3 , 0.5 ). |
min |
Valor mínimo del rango (por defecto: 0 ). |
max |
Valor máximo del rango (por defecto: 1 ). |
low |
Límite inferior para considerar el valor como "bajo". |
high |
Límite superior para considerar el valor como "alto". |
optimum |
Valor ideal dentro del rango (afecta el color en algunos navegadores). |
Ejemplos prácticos
Uso básico
Almacenamiento en disco:
<p>Espacio usado: <meter value="75" min="0" max="100">75%</meter> </p>
Resultado:
Espacio usado:
Por Rangos
Indicador de nivel con rangos:
<p>Nivel de batería: <meter value="30" min="0" max="100" low="20" high="80">30% (baja)</meter> </p>
Resultado:
Nivel de batería:
El navegador puede colorear la barra según el rango (low
, high
, optimum
).
Puntuación de reseñas (escala 1 a 5)
<p>Valoración del producto: <meter value="4.5" min="1" max="5">4.5/5</meter> </p>
Resultado:
Valoración del producto:
Personalización con CSS
Aunque el estilo visual depende del navegador, puedes modificarlo:
meter { width: 200px; height: 25px; margin: 5px; } /* Estilo para Chrome/Edge */ meter::-webkit-meter-bar { background: #eee; border-radius: 5px; } meter::-webkit-meter-optimum-value { background: #4CAF50; /* Verde si está en rango óptimo */ } meter::-webkit-meter-suboptimum-value { background: #FFC107; /* Amarillo si está fuera del óptimo */ } meter::-webkit-meter-even-less-good-value { background: #F44336; /* Rojo si está lejos del óptimo */ }
Comparación con <progress>
<meter> |
<progress> |
---|---|
Mide un valor estático dentro de un rango. | Muestra el avance de una tarea en curso. |
Ej: Uso de CPU, puntuación. | Ej: Carga de archivos, instalación. |
No implica una tarea en progreso. | Representa una tarea activa. |
Errores comunes
Usar <meter>
para tareas en curso:
En su lugar, usa <progress>
:
<!-- Incorrecto --> <meter value="50" max="100"></meter> <!-- Correcto --> <progress value="50" max="100"></progress>
Valores fuera de rango:
Asegúrate de que value
esté entre min
y max
.
Ignorar la accesibilidad:
Proporciona texto descriptivo dentro de la etiqueta como fallback:
<meter value="75" min="0" max="100">75% de capacidad</meter>
Mejores prácticas
-
Define
min
ymax
claramente:
Aunque son opcionales, ayudan a dar contexto. -
Usa
low
,high
yoptimum
para rangos críticos:
Mejora la semántica y el estilo visual en navegadores. -
Combina con texto descriptivo:
Ej: "75% de 100 GB usados". -
Prueba en múltiples navegadores:
El estilo varía entre Chrome, Firefox y Safari.
Ejemplo avanzado: Indicador de temperatura
<p>Temperatura del servidor: <meter value="40" min="0" max="100" low="10" high="70" optimum="25" >40°C</meter> (Rango seguro: 10°C - 70°C) </p>
Resultado:
Temperatura del servidor:
En algunos navegadores, el color cambiará según si el valor está cerca de optimum
.
Accesibilidad
Los lectores de pantalla anuncian el valor y el rango si se usan los atributos correctos.
Usa aria-label
o texto dentro de <meter>
para claridad:
<meter value="90" max="100" aria-label="90% de almacenamiento usado"></meter>
Conclusión
La etiqueta <meter>
es una herramienta poderosa para mostrar mediciones de manera semántica y accesible. Úsala en dashboards, sistemas de calificación o cualquier contexto donde un valor deba entenderse dentro de un rango definido. ¡Experimenta con sus atributos y estilos para crear interfaces más informativas!