:: after и :: before псевдоклассы, блокирующие теги привязки

Итак, в моем коде есть область с двумя якорными тегами. Чтобы область выглядела красиво, я сделал для нее два новых псевдоселектора :: before и :: after, которые заставляли анимацию происходить после наведения курсора на область. В любом случае, после того, как я это сделал, якорные теги были полностью недоступны. Я знаю, что это как-то связано с псевдоклассами до и после, потому что, как только я их закомментирую, теги привязки снова становятся доступными. Я пробовал z-index, но все же. Вот код:

CSS

.log__signLi a {
    display: inline-block;
    z-index: 10;
}

.log__signLi {
    margin-bottom: 1.6rem;
}

.log__sign {
    position: relative;
    transition: all .4s;
    display: inline-block;
    margin-bottom: 2rem;
    border: 0px solid transparent;
}

.log__sign:hover {
    background-color: rgb(250, 250, 250);
    border-radius: 1rem;

    z-index: 0;
}

.log__sign:hover::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;

    height: 100%;
    width: 100%;

    display: inline-block;
    margin-bottom: 2rem;

    animation-name: log__signBottomLeft;
    animation-timing-function: ease-in-out;
    animation-duration: .6s;

    border-bottom: green 2.3px solid;
    border-left: green 2.3px solid;
    border-radius: 1rem;

    z-index: 0;
}

.log__sign:hover::after {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;

    height: 100%;
    width: 100%;

    display: inline-block;
    margin-bottom: 2rem;

    animation-name: log__signTopRight;
    animation-timing-function: ease-in-out;
    animation-duration: .6s;

    border-top: green 2.3px solid;
    border-right: green 2.3px solid;
    border-radius: 1rem;

    z-index: 0;
}
  <nav class = "navbar">
        <ul class = "navbar__ul">
            <span class = "left">
                <li class = "navbar__li"> <a href = "#"> Coffee </a>  </li>
                <li class = "navbar__li"> <a href = "#"> Tea </a>  </li>
                <li class = "navbar__li"> <a href = "#"> Menu </a>  </li>
                <li class = "navbar__li"> <a href = "#"> Recipes  </a>  </li>
            </span>

            <div class = "logo__box">
                <a href = "index.html"> <img class = "logo" src = "https://upload.wikimedia.org/wikipedia/en/thumb/d/d3/Starbucks_Corporation_Logo_2011.svg/1200px-Starbucks_Corporation_Logo_2011.svg.png"> </a>
            </div>

            <span class = "right">
                <li class = "navbar__li"> <a href = "#"> Blog </a>  </li>
                <li class = "navbar__li"> <a href = "#"> Gift Cards </a>  </li>
                <li class = "navbar__li"> <a href = "#"> Reviews </a>  </li>

                <span class = "log__sign">
                    <li class = "navbar__li log__signLi"> <a href = "#" class = "log__signBtn"> Login </a> </li>
                    <li class = "navbar__li log__signLi"> <a href = "#" class = "log__signBtn"> Sign Up </a> </li>
                </span>
            </span>
        </ul>
    </nav>

Я не могу воспроизвести. StackOverflow позволяет вам создать сниппет, попробуйте воссоздать проблему с помощью этого инструмента.

Cristian Traìna 17.07.2018 03:15

@ CristianTraìna Забавно, у меня это работает. Вам нужно прокрутить вниз до ссылок «Войти» и «Зарегистрироваться» - когда они наведены, ссылки становятся неактивными. Тем не менее, его формулировка сбивала с толку, и фрагмент также был бы полезен.

Grace 17.07.2018 03:42
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
304
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Мне удалось заставить ваши ссылки работать, изменив z-index ваших эффектов наведения с 0 на -99.

  .log__signLi a {
    display: inline-block;
    z-index: 10;
}

.log__signLi {
    margin-bottom: 1.6rem;
}

.log__sign {
    position: relative;
    transition: all .4s;
    display: inline-block;
    margin-bottom: 2rem;
    border: 0px solid transparent;
}

.log__sign:hover {
    background-color: rgb(250, 250, 250);
    border-radius: 1rem;

    z-index: 0;
}

.log__sign:hover::before {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;

    height: 100%;
    width: 100%;

    display: inline-block;
    margin-bottom: 2rem;

    animation-name: log__signBottomLeft;
    animation-timing-function: ease-in-out;
    animation-duration: .6s;

    border-bottom: green 2.3px solid;
    border-left: green 2.3px solid;
    border-radius: 1rem;

    z-index: -99;
}

.log__sign:hover::after {
    content: "";
    position: absolute;
    top: 0%;
    left: 0%;

    height: 100%;
    width: 100%;

    display: inline-block;
    margin-bottom: 2rem;

    animation-name: log__signTopRight;
    animation-timing-function: ease-in-out;
    animation-duration: .6s;

    border-top: green 2.3px solid;
    border-right: green 2.3px solid;
    border-radius: 1rem;

    z-index: -99;
}
<nav class = "navbar">
        <ul class = "navbar__ul">
            <span class = "left">
                <li class = "navbar__li"> <a href = "#"> Coffee </a>  </li>
                <li class = "navbar__li"> <a href = "#"> Tea </a>  </li>
                <li class = "navbar__li"> <a href = "#"> Menu </a>  </li>
                <li class = "navbar__li"> <a href = "#"> Recipes  </a>  </li>
            </span>

            <div class = "logo__box">
                <a href = "index.html"> <img class = "logo" src = "https://upload.wikimedia.org/wikipedia/en/thumb/d/d3/Starbucks_Corporation_Logo_2011.svg/1200px-Starbucks_Corporation_Logo_2011.svg.png"> </a>
            </div>

            <span class = "right">
                <li class = "navbar__li"> <a href = "#"> Blog </a>  </li>
                <li class = "navbar__li"> <a href = "#"> Gift Cards </a>  </li>
                <li class = "navbar__li"> <a href = "#"> Reviews </a>  </li>

                <span class = "log__sign">
                    <li class = "navbar__li log__signLi"> <a href = "#" class = "log__signBtn"> Login </a> </li>
                    <li class = "navbar__li log__signLi"> <a href = "#" class = "log__signBtn"> Sign Up </a> </li>
                </span>
            </span>
        </ul>
    </nav>
Ответ принят как подходящий

Просто добавьте pointer-events: none к вашим псевдоэлементам ::before и ::after, и тогда ваши ссылки станут доступными.

Между прочим, ваш способ определения ::before и ::after неверен, вы должны сначала определить их, а затем стилизовать их в состоянии ::hover; но первая уловка должна легко решить вашу проблему.

дайте мне знать, сработает это или нет.

Спасибо большое, это сработало! Я не могу представить, сколько часов я бы потратил, если бы не воспользовался этим сайтом, чтобы попросить о помощи.

Dylan Perez 17.07.2018 04:17

Я рад, что это помогло, в любое время <3

mrReiha 17.07.2018 04:20

Другие вопросы по теме