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
minymaxclaramente:
Aunque son opcionales, ayudan a dar contexto. -
Usa
low,highyoptimumpara 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!