Tienda
1


















La imagen muestra un fondo azul con un texto centrado en letras blancas que muestra la palabra progress

Última modificación: 2024-06-18

<progress> en HTML5: Detalle y Atributos

El elemento <progress> en HTML5 se utiliza para representar el progreso de una tarea en ejecución. Este elemento es especialmente útil para mostrar el progreso de operaciones como descargas, cargas de archivos, o cualquier otro proceso que tenga un inicio, un medio y un fin.

Atributos del elemento <progress>

  1. value (float):

    • Descripción: Representa el estado actual del progreso.
    • Uso: Especifica cuánto progreso se ha hecho en relación con el máximo especificado por el atributo max.
    • Ejemplo: <progress value="30">
  2. max (float):

    • Descripción: Define el valor máximo del progreso, es decir, cuándo el progreso se considera completo.
    • Uso: Especifica el umbral superior del progreso que, por defecto, es 1.
    • Ejemplo: <progress max="100">
  3. form (form_id):

    • Descripción: Este atributo toma el id de un elemento <form> al que el <progress> pertenece y lo asocia a ese formulario.
    • Uso: Útil para formularios donde el progreso de una acción específica debe ser mostrado.
    • Ejemplo: <progress value="30" max="100" form="myForm">

Atributos Globales y Eventos

Adicionalmente, como la mayoría de los elementos HTML, <progress> soporta los atributos globales de HTML5 y puede manejar eventos comunes como onclick, onchange, etc.

Uso del Elemento <progress> con Ejemplos Sencillos

A continuación, algunos ejemplos que muestran cómo utilizar el elemento <progress> en distintos escenarios:

  1. Progreso Básico:
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Progreso Básico</title>
</head>
<body>
    <label for="file-progress">Progreso de descarga:</label>
    <progress id="file-progress" value="50" max="100"></progress>
</body>
</html>

En este ejemplo, el valor actual del progreso es 50 y el valor máximo es 100, lo que significa que el progreso está en un 50%.

  1. Progreso Indeterminado:
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Progreso Indeterminado</title>
</head>
<body>
    <label for="indeterminate-progress">Carga de datos:</label>
    <progress id="indeterminate-progress"></progress>
</body>
</html>

Si se omite el atributo value, el progreso se mostrará en un estado indeterminado, indicando que el proceso está en curso pero no se sabe cuánto tiempo tomará.

  1. Progreso con Formulario:
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Formulario con Progreso</title>
</head>
<body>
    <form id="uploadForm">
        <label for="upload-progress">Subiendo archivo:</label>
        <progress id="upload-progress" value="70" max="100" form="uploadForm"></progress>
        <input type="submit" value="Subir">
    </form>
</body>
</html>

Aquí, el <progress> está asociado con un formulario mediante el atributo form. Aunque es un poco redundante en este contexto, podría ser útil en casos más complejos.

  1. Estilizando <progress> con CSS:
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <style>
        progress {
            width: 100%;
            height: 20px;
        }
        progress::-webkit-progress-bar {
            background-color: #f3f3f3;
        }
        progress::-webkit-progress-value {
            background-color: #4caf50;
        }
        progress::-moz-progress-bar {
            background-color: #4caf50;
        }
    </style>
    <title>Progreso Estilizado</title>
</head>
<body>
    <label for="styled-progress">Progreso estilizado:</label>
    <progress id="styled-progress" value="60" max="100"></progress>
</body>
</html>

En este caso, se ha añadido CSS para estilizar el elemento <progress>, cambiando su apariencia gráfica.

Estos ejemplos ilustran cómo se puede utilizar el elemento <progress> en diferentes escenarios y cómo se le pueden aplicar atributos para controlar y mostrar el progreso de tareas de forma efectiva.




Colaboraciónes de nuestros usuarios

¿Tienes algo que agregar? ¡Déjanos tu colaboración!