Ссылки не работают при объединении файлов SVG с наведением курсора - PullRequest
1 голос
/ 26 мая 2020

Я пытаюсь достичь следующего:

  • Текст и файлы svg перемещаются при наведении
  • Цвет меняется на противоположный при наведении.
  • Открыть ссылку

Это мой html: btn_ol класс имеет <a> и <span> (с объектом svg)

<div class="btn_ol">
    <a href="http://google.com/" target="_blank"></a>
    <span>Google<object class=ol_svg data="../assets/images/common/icon_ol.svg" type="image/svg+xml"></object></span>
</div>

Это мой css:

.btn_ol {
    padding: 2.3rem 1.8rem;
    border: 2px solid #0c5a9d;
    cursor: pointer;
    width: 604px;
    display: block;
    margin: 35px auto;
    outline: none;
    vertical-align: middle;
    text-align: center;
    position: relative;
    overflow: hidden;
    background-color: transparent;
    color: #0c5a9d;
    transition: background-color 300ms ease-out;
    z-index: 1;
}

.btn_ol:hover {
    background: #0c5a9d;
    border-color: #0c5a9d;
    color: #fff;
}

.btn_ol a{
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.btn_ol span {
    display: inline-block;
    position: relative;
    font-size: 1.8rem;
    margin: 0 auto;
    transition: all 300ms ease-out;
    will-change: transform;
    font-weight: bold;
}

.btn_ol:hover span {
    transform: translate3d(-1rem, 0, 0);
}

.btn_ol .ol_svg {
    position: absolute;
    margin: auto 5px;
    top: 25%;
    width: 1.1em;
    right: -0.5rem;
    opacity: 0;
    transition: all 300ms ease-out;
    will-change: right;
}

.btn_ol .ol_svg * {
    stroke-width: 5;
}

.btn_ol:hover .ol_svg {
    opacity: 1;
    right: -3.5rem;

}

@media screen and (max-width: 720px) {
    .btn_ol { 
        width: 100%;
        padding: 2.3rem 1.1rem;
        margin: 20px auto;
    }
    .btn_ol span {
        line-height: 1.8rem;
        font-size: 1.4rem;
    }
    .btn_ol .ol_svg {
        top: 15%;
        right: 0rem;
    }

    .btn_ol:hover .ol_svg {
        right: -2.5rem;
    }
}

В этом CSS мы пытаемся добиться следующего: - Текст и файлы svg перемещаются при наведении курсора - Цвет меняется на противоположный при наведении. - Откройте ссылку

Проблем с P C не было, а вот с работой сайта SP обнаружил проблему.

При работе на планшете прыгает два клика ссылка. Первый щелчок сохраняет наведение, а второй щелчок открывает окно.

По-видимому, я смог подтвердить, что удаление

.btn_ol:hover .ol_svg {
    opacity: 1;
}

откроет ссылку при первом нажатии, но я ' я не знаю, как это реализовать, сохранив вид SVG.

пожалуйста, помогите мне :)

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Вы можете попробовать этот код.

<div class="btn_ol">
    <a href="http://google.com/" target="_blank">
        <span>
             Google<img src="../assets/images/common/icon_ol.svg" type="image/svg+xml"> 
        </span>
    </a>
</div>

Работает у меня.

0 голосов
/ 26 мая 2020

Обычно в качестве ссылок используются изображения. Не забудьте заключить их в свой тег.

<div class="btn_ol">
    <a href="http://google.com/" target="_blank">
        <span>Google<object class=ol_svg data="../assets/images/common/icon_ol.svg" type="image/svg+xml"></object></span>
    </a>
</div>
...