объяснение
Стоит отметить, что ваш код вставляет пробел
h2::after {
content: " ";
}
Однако, это немедленно удалено.
Из анонимных встроенных ящиков ,
Содержимое пустого пространства, которое впоследствии будет свернуто в соответствии со свойством white-space, не создает анонимных встроенных блоков.
И из модели обработки «белого пространства» ,
Если пробел (U + 0020) в конце строки имеет «пробел», установленный на «нормальный», «nowrap» или «pre-line», он также удаляется.
Решение
Так что, если вы не хотите , пространство для удаления, установите white-space
на pre
или pre-wrap
.
h2 {
text-decoration: underline;
}
h2.space::after {
content: " ";
white-space: pre;
}
<h2>I don't have space:</h2>
<h2 class="space">I have space:</h2>
Не используйте неразрывные пробелы (U + 00a0). Они должны предотвращать разрывы строк между словами. Они не должны использоваться как неразборное пространство, это не было бы семантическим.
padding
с помощьюcontent
. Кажется, невозможно сказать, было ли добавлено пространство.