I have the following css code:
.steps .step:before {
content: attr(data-number);
/* IE8? */
display: block;
width: 60px;
height: 60px;
font-size: 36px;
font-weight: 300;
line-height: 60px;
text-align: center;
color: #18bfa3;
border: 1px solid #18bfa3;
border-radius: 55%;
position: absolute;
left: -70px;
}
which is then applied to a div:
<div class="steps">
<div class="step animate" data-number="1">
Some content
</div>
<div class="step animate" data-number="2">
Some content
</div>
</div>
Everything works fine in modern browsers, but in IE8 i get the :before
elements with borders and everything, but no content (ie the number) and if I inspect the element, the css shows content: attr(data-number); FONT-WEIGHT: 300
all on the same line, as is the line-brake wasn't there or something. see attached screenshot.
Any idea why this is happening and how can I stop it?
EDIT:
This is the rendered layout. Notice the empty rectangles, that is where the numbers should be and the rectangle is in fact the rendered :before
pseudo-element.