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>