Причина заключается в том, что родительский элемент теряет фокус быстрее чем происходит событие(клик) по ссылке, и перехода по ссылке не происходит.
Для примера используется вот такая HTML-конструкция:
<span class='btn' tabindex='1'>сделай мне :focus
<span class='link-obj'><a href='#'>кликни</a>
</span>
</span>
Чтобы решить данную проблему, достаточно добавить к элементу с ссылкой псевдокласс :hover, который не даст исчезнуть блоку раньше чем произойдет клик по ссылке. В CSS коде это выглядит так:<span class='link-obj'><a href='#'>кликни</a>
</span>
</span>
.btn {
display: inline-block;
text-align: center;
padding: 10px;
height: 50px;
width: 180px;
background: #28BAF3;
}
.link-obj {
display: none;
text-align: center;
padding: 5px;
height: 20px;
width: 80px;
background: #ECECEC;
}
.btn:focus {
background: #8EE600;
}
.btn:focus .link-obj,
/*решение проблемы скликивания*/
.btn:active .link-obj, /*кнопка не исчезает при клике*/
.link-obj:hover {
display: inline-block;
}
Пример решения:display: inline-block;
text-align: center;
padding: 10px;
height: 50px;
width: 180px;
background: #28BAF3;
}
.link-obj {
display: none;
text-align: center;
padding: 5px;
height: 20px;
width: 80px;
background: #ECECEC;
}
.btn:focus {
background: #8EE600;
}
.btn:focus .link-obj,
/*решение проблемы скликивания*/
.btn:active .link-obj, /*кнопка не исчезает при клике*/
.link-obj:hover {
display: inline-block;
}
©http://magentawave.com
Интересное решение
ОтветитьУдалитьРаботает отлично
ОтветитьУдалить