Как удалить CSS-селектор ::after, который автоматически добавляется к the_content()?

13 мар. 2019 г., 13:51:50
Просмотры: 18K
Голосов: 0

У меня есть пользовательский тип записи (CPT), который выводит мета-значения после the_content() на фронтенде, и этот селектор ::after мешает моей верстке. Селектор всегда появляется сразу после последнего элемента внутри the_content().

css
0
Все ответы на вопрос 1
1

Это не имеет никакого отношения к the_content().

::after — это псевдоэлемент, который добавляется с помощью CSS. Обратите внимание, что элемент ::after в инструментах разработчика существует только для помощи в разработке. Его нет в исходном HTML.

Значит, CSS вашей темы добавляет его к элементу, который оборачивает the_content() в вашем шаблоне. Вы можете удалить его, установив content: none; для соответствующего селектора. Например, если элемент, оборачивающий ваш контент, это <div class="entry-content">, то CSS для его удаления может выглядеть так:

.entry-content::after {
    content: none;
}

Однако правила специфичности всё ещё применяются, поэтому селектор, который вы используете для удаления, должен быть более специфичным, чем тот, который его добавил.

Также учитывайте, что ваша тема, скорее всего, делает это не просто так. Чаще всего такие элементы используются для очистки обтекания (float) и предотвращения выпадения контента с обтеканием (например, изображений) за пределы родительского элемента.

13 мар. 2019 г. 14:00:01
Комментарии

Спасибо за ответ! Проблема была в том, что я добавил CSS-класс для создания буквицы в абзаце через the_content. Я не мог понять, откуда взялся селектор ::after, так как я его не определял, но content: none; помог решить проблему.

bogdan bogdan
13 мар. 2019 г. 14:32:31