С некоторыми незначительными изменениями свойства transition
это может работать на iOS.На :hover
ограничьте transition
только свойством opacity
, например:
a:hover span {
opacity:1;
-webkit-transition: opacity 0.5s;
transition: opacity 0.5s;
visibility:visible;
}
Хотя видимость является анимируемым свойством , похоже, что ошибка вреализация iOS.При попытке перехода visibility
кажется, что весь переход не происходит.Если вы просто ограничите свой переход opacity
, все будет работать так, как ожидалось.
Для ясности: Оставьте свойство visibility
в своем CSS, просто не пытайтесь его преобразоватьесли вы хотите, чтобы все работало в Mobile Safari.
Для справки, вот ваше обновленное fiddle , которое я тестировал на iPad:
a {
background: gray;
display: block;
margin: 100px;
padding: 100px;
}
a span {
opacity: 0;
-webkit-transition: 0.5s;
visibility: hidden;
}
a:hover span {
opacity: 1;
-webkit-transition: opacity 0.5s;
visibility: visible;
}
<a href="#">a <span>span</span></a>