Пояснення
Варто зазначити, що ваш код все-таки вставляє пробіл
h2::after {
content: " ";
}
Однак його негайно видаляють.
З анонімних вбудованих полів ,
Вміст білого простору, який згодом згортатиметься відповідно до властивості "white-space", не створює анонімних вбудованих полів.
І від моделі обробки «білого простору» ,
Якщо пробіл (U + 0020) в кінці рядка має "пробіл", встановлений на "нормальний", "тепер" або "передрядковий рядок", він також видаляється.
Рішення
Так що, якщо ви не хочете , простір для видалення, встановіть 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
. Здається, було б неможливо сказати, чи додано пробіл.