Make use of CSS3's ::after and add it to meter tag as follows.
meter::after {
content : "0.5491";
}
This will show the text below the meter.
update
Since OP said that he want multiple elements, updated the code. Changed position from absolute to relative so the text will be always relative to the meter
In order to make it appear on the meter, style it using position:absolute and give top or margin-top and left as follows
meter{
width:100px;
}
meter::after {
content : attr(value);
top:-17px;
left:40px;
position:relative;
}
For more reference on ::after, Visit MDN
Also using that, you can remove the span element.
Here, we make use of attr() function in css. Read about it in MDN
Try the below snippet
meter{
width:100px;
}
meter::after {
content : attr(value);
top:-17px;
left:40px;
position:relative;
}
<meter value="0.55" high="0.999" optimum="1">
</meter>
<meter value="0.45" high="0.999" optimum="1">
</meter>
<meter value="0.85" high="0.999" optimum="1">
</meter>
<meter value="0.95" high="0.999" optimum="1">
</meter>
<br />
<meter value="0.55" high="0.999" optimum="1">
</meter>
<meter value="0.45" high="0.999" optimum="1">
</meter>
<meter value="0.85" high="0.999" optimum="1">
</meter>
<meter value="0.95" high="0.999" optimum="1">
</meter>
The above code doesn't work on Firefox. It is a known issue that ::after and ::before pseudos work only in webkit browsers.
For firefox, try the following code (This is global. It will work on all browsers)
meter{
width:100px;
}
span{
}
span::after {
content : attr(data-value);
top:0px;
left:-70px;
position:relative;
}
<meter value="0.55" high="0.999" optimum="1">
</meter>
<span data-value="0.55"></span>
<meter value="0.45" high="0.999" optimum="1">
</meter>
<span data-value="0.45"></span>
<br />
<meter value="0.55" high="0.999" optimum="1">
</meter>
<span data-value="0.55"></span>
<meter value="0.45" high="0.999" optimum="1">
</meter>
<span data-value="0.45"></span>