Действительно ли возможно установить порядок укладки псевдоэлементов ниже их родительского элемента? [дубликат]

269
задан adardesign 4 July 2018 в 07:34
поделиться

2 ответа

Здесь возникают две проблемы:

  1. В спецификации CSS 2.1 указано, что «: before и : after псевдоэлементы взаимодействуют с другими блоками, такими как как вводные блоки, как если бы они были настоящими элементами, вставленными только внутри связанного с ними элемента ". Учитывая способ реализации z-индексов в большинстве браузеров, довольно сложно (читайте, я не знаю способа) переместить контент ниже z-индекса их родительского элемента в DOM, который работает во всех браузерах.

  2. Номер 1 выше не обязательно означает, что это невозможно, но второе препятствие на самом деле еще хуже: в конечном итоге это вопрос поддержки браузером. Firefox вообще не поддерживал позиционирование сгенерированного контента до FF3.6. Кто знает про браузеры вроде IE. Так что даже если вы найдете способ заставить его работать в одном браузере, весьма вероятно, что он будет работать только в этом браузере.

Единственное, о чем я могу думать, что будет работать во всех браузерах, - это использовать javascript для вставки элемента, а не CSS. Я знаю, что это не самое лучшее решение, но псевдоселекторы : before и : after действительно не выглядят так, как будто они собираются вырезать его здесь.

15
ответ дан 23 November 2019 в 02:19
поделиться

Говоря о спецификации (http://www.w3.org/TR/CSS2/zindex.html), поскольку a.someSelector позиционируется, он создает новый контекст стекирования, из которого его дети не могут выйти. Оставьте a.someSelector непозиционированным, и тогда дочерний a.someSelector:after может быть позиционирован в том же контексте, что и a.someSelector.

11
ответ дан 23 November 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: