According to the specs, inline elements with a position of absolute should be computed as 'display: block', yet, they clearly do not behave like block-level elements. Their width is not 100% of their parent, and they don't start on a new line. So, in what way exactly are they 'block'? If their principle box is now 'block-level box', then why do they behave differently? Why aren't their width dimensions 100% of their parent width?
.span-block {
background-color:red;
display:block;
}
.span-absolute {
background-color:blue;
position:absolute;
}
<span class="span-block">This is inline element with display block</span>
<span>Normal span</span>
<span class="span-absolute">This is inline element with position absolute</span>
Also, when you have an inline element with a position absolute, if you now set its display property to 'block', it will change its behavior in a way that, it will start on a new line, which further proves that, simply being position absolute does not make the element behave like an element whose display property is 'block', however, with 'display block' and 'position absolute', the element starts on a new line, but still does not occupy 100% of the width.
.span-block {
background-color:red;
display:block;
}
.span-absolute {
background-color:blue;
position:absolute;
display:block;
}
<span class="span-block">This is inline element with display block</span>
<span>Normal span</span>
<span class="span-absolute">This is inline element with position absolute</span>
I am confused about what exactly does position absolute do to an inline element? What box is being generated? Why does it not behave like a block despite saying that the element is computed as display block? And why does making it display block while being position absolute only makes the element start on a new line, but still not behaving like a block-level element does?