La etiqueta progress HTML5 representa mediante una barra el progreso de una tarea o acción, esta tarea puede ser el de la subida de un archivo por formulario (progress bar).
Otra etiqueta parecida y con la que no nos tenemos que confundir es la meter, que representa un valor mediante una barra.
Vamos a ver su sintaxis estraída de su web oficial:
<progress value="0" max="10"></progress>
Tal y como podéis apreciar la nueva etiqueta HTML5 es muy sencilla y consta de 2 parámetros:
Os pongo una imagen de ejemplo de la etiqueta progress HTML5:
Con este ejemplo de progress vamos a ver en funcionamiento la barra de progreso HTML5:
<progress value="0" max="50"></progress> <progress value="15" max="50"></progress> <progress value="34" max="50"></progress> <progress value="50" max="50"></progress>
En el código podemos ver cómo la etiqueta progress tiene varios valores y según en que valor se encuentre la barra estará animada o no:
Esta etiqueta nos ofrece unas seudo clases para modificar su apariencia mediante estilos CSS, son las siguientes:
progress //Estilo para Safari y Chrome progress::-webkit-progress-bar progress::-webkit-progress-value //estilos para Firefox progress::-moz-progress-bar
Podemos ver en este nuevo ejemplo la barra de progreso con los nuevos estilos:
progress { background-color: #f3f3f3; border: 1px; height: 38px; width: 200px; border-radius: 9px; color: #000000;} /* Safari Chrome */progress::-webkit-progress-bar { background-color: #f3f3f3; border-radius: 9px;} progress::-webkit-progress-value { background: #cb5700; border-radius: 9px;} /* firefox */progress::-moz-progress-bar { background: #cb5700; border-radius: 9px;}
Explico código CSS superior:
El código HTML de la barra es el siguiente:
<progress value="30" max="50"></progress>