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

Ссылка скопирована
1 ответ

Я хочу реализовать кнопку как на картинке с помощью псевдоэлементов, но почему элемент Аfter вылазит за пределы родителя, как это исправить?

.cooperation_button         position: relative         border-radius: 4px         border: 1.5px solid #2EECC5         background: #161617         z-index: 11          &::after                 position: absolute                 content: " "                 width: 100%                 height: 100%                 border-radius: 4px                 border: 1.5px solid rgba(46, 236, 197, 0.40)                 left: 9px                 top: 11px                 z-index: -1

.cooperation_button position: relative border-radius: 4px border: 1.5px solid #2EECC5 background: #161617 z-index: 11 &::after position: absolute content: " " width: 100% height: 100% border-radius: 4px border: 1.5px solid rgba(46, 236, 197, 0.40) left: 9px top: 11px z-index: -1

как выходит

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

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

как должно быть

Дополнительно:

snippet

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Виктор Sys Ответ

Проблема, когда псевдоэлемент :after перекрывает своего родителя, может возникать из-за неправильного использования позиционирования и z-index.

Во-первых, убедитесь, что у родителя достаточно пространства для отображения псевдоэлемента :after. Если родитель имеет ограниченную ширину или высоту, псевдоэлемент может перекрывать его содержимое.

Во-вторых, проверьте правильность использования позиционирования. Если у родителя или псевдоэлемента задано позиционирование (например, absolute или relative), это может привести к нежелательному перекрытию. Убедитесь, что позиционирование установлено верно и не приводит к конфликту расположения элементов.

Также, важно проверить значение z-index у родителя и псевдоэлемента. Если у псевдоэлемента задан более высокий z-index, чем у родителя, он будет отображаться поверх него. Убедитесь, что z-index установлен корректно, чтобы элементы отображались в нужном порядке.

Пример использования псевдоэлемента :after с правильным позиционированием и z-index:

.parent {
  position: relative;
  z-index: 1;
}
 
.parent:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  background-color: red;
  z-index: 2;
}

.parent { position: relative; z-index: 1; } .parent:after { content: ""; position: absolute; top: 0; left: 0; width: 100px; height: 100px; background-color: red; z-index: 2; }

Проверьте ваш код и убедитесь, что он соответствует указанным рекомендациям по использованию позиционирования и z-index. Это поможет избежать проблемы перекрытия псевдоэлементом родителя.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно