HTML-тег <progress>
HTML-тег
<progress>
используется для отображения хода выполнения задачи, например загрузки файла, выгрузки данных или заполнения формы. Он визуально отображает ход выполнения задачи и представляет собой самостоятельный элемент со встроенной семантикой для обеспечения доступности.
Тег
<progress>
работает с двумя атрибутами:
value
(текущий прогресс) и
max
(общая работа или максимальное значение).
Базовый синтаксис HTML-тега <progress>
Базовая структура тега
<progress>
следующая:
<progress value="current-value" max="maximum-value"></progress>
Атрибут
value
отображает текущий прогресс, а атрибут
max
определяет общую работу. Если атрибут
max
опущен, его значение по умолчанию равно 1. Прогресс выражается как доля от
value / max
.
Пример индикатора выполнения
Вот пример индикатора выполнения, отображающего завершение загрузки файла:
<!DOCTYPE html>
<html>
<body>
<h2>File Download Progress</h2>
<progress value="50" max="100"></progress>
<p>50% Complete</p>
</body>
</html>
Объяснение:
Индикатор выполнения показывает, что задача выполнена на 50%, поскольку
value
равен 50, а
max
равен 100.
Атрибуты HTML-тега <progress>
- Значение: определяет текущий ход выполнения задачи. Значение должно быть числом, большим или равным 0.
- Макс.: определяет максимальное значение или общий объём работы для задачи. Если значение не указано, по умолчанию используется значение 1.
-
Глобальные атрибуты:
поддерживает все глобальные атрибуты, такие как
id,classиstyle.
Например, если индикатор выполнения заполнен наполовину:
<progress value="5" max="10"></progress>
Это отобразит полосу прогресса, на которой выполнено 5/10(50%).
Стилизация тега <progress> с помощью CSS
Вы можете стилизовать тег
<progress>
чтобы настроить его внешний вид:
<!DOCTYPE html>
<html>
<head>
<style>
progress {
width: 100%;
height: 20px;
border: 1px solid #007BFF;
border-radius: 5px;
}
progress::-webkit-progress-bar {
background-color: #f3f3f3;
}
progress::-webkit-progress-value {
background-color: #007BFF;
}
progress::-moz-progress-bar {
background-color: #007BFF;
}
</style>
</head>
<body>
<h2>Styled Progress Bar</h2>
<progress value="70" max="100"></progress>
<p>70% Complete</p>
</body>
</html>
Результат: полоса прогресса имеет стилизованную границу, закругленные углы и пользовательский цвет для заполненной области.
Динамические обновления с помощью JavaScript
Тег
<progress>
можно обновлять динамически с помощью JavaScript:
<!DOCTYPE html>
<html>
<body>
<h2>Dynamic Progress Bar</h2>
<progress id="progressBar" value="0" max="100"></progress>
<p>Progress: <span id="progressValue">0%</span></p>
<button onclick="updateProgress()">Increase Progress</button>
<script>
function updateProgress() {
const progressBar = document.getElementById('progressBar');
const progressValue = document.getElementById('progressValue');
if(progressBar.value < progressBar.max) {
progressBar.value += 10;
progressValue.textContent = progressBar.value + '%';
}
}
</script>
</body>
</html>
Пояснение: Нажатие кнопки «Увеличить прогресс» увеличивает полосу прогресса на 10%, пока она не достигнет 100%.
Практическое применение тега <progress>
- Загрузка файлов: отображение хода загрузки в форме или файловом менеджере.
- Загрузки: отображают ход загрузки или установки файла.
- Завершение задачи: визуализируйте ход выполнения задачи в приложениях или рабочих процессах.
- Игровая механика: представляет собой шкалу здоровья, очки опыта или прогресс уровня в играх.