Почему псевдоэлементам: before и: after требуется свойство content?

С учетом следующего сценария, почему селектору: after требуется свойство содержимого для работы?

.test {
    width: 20px;
    height: 20px;
    background: blue;
    position:relative;
}
			
.test:after {
    width: 20px;
    height: 20px;
    background: red;
    display: block;
    position: absolute;
    top: 0px;
    left: 20px;
}
<div class="test"></div>

Обратите внимание, как вы не видите псевдоэлемент, пока не укажете свойство содержимого:

.test {
    width: 20px;
    height: 20px;
    background: blue;
    position:relative;
}
			
.test:after {
    width: 20px;
    height: 20px;
    background: red;
    display: block;
    position: absolute;
    top: 0px;
    left: 20px;
    content:"hi";
}
<div class="test"></div>

Почему это предполагаемая функциональность? Можно подумать, что блок отображения заставит элемент появиться. Как ни странно, вы можете увидеть стили внутри веб-отладчиков; однако они не отображаются на странице.

Ответы на вопрос(4)

Ваш ответ на вопрос