The W3C standard dictates that the progress bar completes a specific task using a progress element. Developers use the progress tag to display a progress bar and represent file uploading progress on web pages. HTML incorporates this tag, offering web developers a straightforward method to display the bar. This tag is entirely different from the
Syntax:
This progress element has both the starting and ending tag, and below shows the tag’s basic syntax. It implies the status of any process. The progress bar has inline display manners.
<Progress bar> …… </Progress bar>
Attributes provide an informative element like the behavior of the explorer in the HTML. There are three attributes in the HTML: event attributes and global attributes. In addition to these attributes, the progress element has two new attributes:
max – The default value is 1.0 and indicates the total number of works needed to complete the task.
value – This specifies how much work has to be finished. The default value is assigned as less than 1.0. In the absence of the Val attribute, the progress bar is indeterminate.
Examples of progress bars include attaching a file, loading the document for the first time, or a web page loading.
A progress bar has two different states: determinate and indeterminate. In the case of the indeterminate progress bar, you assign a null value to the value attribute, which makes it easier to style. On the other hand, for the determinate state, you define two new attributes, max, and value, as shown in the examples below. It uses some motion-like appearance to indicate the task with the horizontal bar. If the respective work is not depending on the task, then the < meter> tag is assigned. Regarding browser compatibility, it supports all browsers except Internet Explorer (partial support). Depending upon the browser compatibility progress bar may look different. This article will concentrate on the bar’s determinate state with max and Val attributes.
Example: Now, let’s look out for the basic implementation of a progress bar with min and val attributes.
<!DOCTYPE html> <html> <body> Downloading on process: <progress value="19" max="90"> </progress> <p><strong>Note:</strong> The progress tag is used to represent a progress bar for quite period of time. </p> </body> </html>
Output:
Next, we shall see how to make a stylish progress bar look consistent on all platforms. To markup the progress bar, we use a value selector and adjust the dimensions, such as the width and height of the progress element, to create a visually appealing progress bar. However, dealing with different browsers can complicate this process. The browser makes some adjustments to the caliber of the task completion. We are making html bar look candid by applying the dimensional effect.
Example:
<!DOCTYPE> <html> <head> <h1> Using Style Sheet in Progress bar </h1> <style> progress{width:400px;height:40px} </style> </head> <body> <progress value="60" max="100"></progress> </body> </html>
Output:
With the stylesheet, we can add style rules to this element by giving background color, assigning height, etc. The colors can be applied by applying the rgba() function. The progress bar element can be done with different colors to display the result good. This is mapped with the attribute’ class’. Generally, the progress bar moves from left to right to indicate the task as they start from the initial ‘0’ and displays the results once it reaches the target.
Example:
<!DOCTYPE> <html> <head> <h1> Using Style Sheet in Progress bar demo </h1> <style> progress{width:200px;height:20px;background-color:pink; border-radius: 4px;position: absolute; right: 0px; top: 80px; box-shadow: 0 3px 6px rgba(255, 255, 0, 255) inset;} </style> </head> <body> <progress value="40" max="100"></progress> </body> </html>
Output:
Note: Different browser handles the bar a bit variants. Chrome uses Webkit Stylesheet by replacing native styles.Sample:
progress bar :: – WebKit-Progress-bar
Even a progress bar size can be varied with small, medium, and large using the class attribute.
The code below is indeterminate, showing some process is going on for a time.
Example:
<!DOCTYPE> <html> <head> <h1> Using Style Sheet in Progress bar </h1> <style> progress{width:120px;height:20px} </style> </head> <body> <progress max="100"> <span>20</span>% </progress> </body> </html>
Output:
The following rules have to be done using javascript. Creating
Example #1
<!DOCTYPE> <html> <body> <script> var pgx=2; function bar(){ var prog = document.getElementById ('progress demo'); setInterval (function () { if(pgx<90){ pgx++; prog.value =pgx; } bar(); }, 100); } </script> <progress id="progress demo" min="2" max="100"></progress> <br/><br/> <button onclick="bar()"> submit</button> </body> </html>
Output:
Example #2
<!DOCTYPE html> <html lang="en"> <head> <title>implementation of HTML progress Tag</title> </head> <body> <h2> <i>Task in scheduled Progress </i></h2> <p>Process: <progress id="bar" value="1" max="100"><span>0</span>%</progress></p> <script type="text/javascript"> var k = 0; var progb = document.getElementById("bar"); function count(){ if(k < 100){ k = k + 1; progb.value = k; progb.getElementsByTagName("span")[0].textContent = k; } setTimeout("count()", 400); } count(); </script> </body> </html>
Output:
NOTE: Even you can add some animation effects to the progress bar. To do so, we have to assign some interval timings by assigning some value to it and directing incrementing infinitely, to make the situation control conditional statement used.Therefore, this article explains how to create a highly flexible and lightweight HTML progress bar. Finally, we have briefly seen the concept as the activity indicator. This element indicates how to load a page or make some registration process and probably represents a percentage of 100 for the max value. When the length of the time task is unknown, developers usually use this mode in the installation or loading page scenario. And that’s even an implementation using Html5 with some cool effects.
The above is the detailed content of HTML Progress Bar. For more information, please follow other related articles on the PHP Chinese website!