решено - проблема в том, что при повороте половина элемента помещается за нейтральной (нулевой) осью Z для веб-страницы, а WebKit, по-видимому, не пропускает события мыши через этот "нейтральный"самолет.Так что изменение точки поворота на правый / левый края панелей решило это.Странно, но пока это работает.
У меня есть простая страница HTML5 / CSS3 с четырьмя панелями.Эти панели используют -webkit-transform, чтобы сформировать их в удобное расположение.На: hover, я использую -webkit-transform, чтобы вывести панель на передний план.Код ниже.
В результате действие: hover ненадежно.Если я проводю мышью по панелям, обычно перестают перемещать мышь, когда она находится над панелью, но панель все еще находится в своем первоначальном положении.В частности, проведя пальцем слева направо, две крайние левые панели работают нормально, но две самые правые не масштабируются до тех пор, пока мышь не переместится на половину панели.
Что может вызвать это?
РЕДАКТИРОВАТЬ: быстрое отслеживание, кажется, что ссылки, размещенные в преобразованных элементах, будут кликабельны только в самой левой (для двух левых панелей) или крайней правой (для двух правых) половинах элементов.Другими словами, зона щелчка активна только для «ближе» половины элемента.
Во-первых, HTML (минимальный пример):
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="test.css" />
</head>
<body>
<section id="test">
<article class="tr_left"></article>
<article class="tr_midleft"></article>
<article class="tr_midright"></article>
<article class="tr_right"></article>
</section>
</body>
</html>
И CSS:
#test article {
display: inline-block;
height: 150px;
width: 160px;
background-color: blue;
-webkit-transition: -webkit-transform 0.2s ease;
}
#test article.tr_left {
-webkit-transform: perspective(400px) rotateY(20deg) scale(1);
}
#test article.tr_midleft {
-webkit-transform: perspective(400px) rotateY(8deg) scale(0.9);
}
#test article.tr_midright {
-webkit-transform: perspective(400px) rotateY(-8deg) scale(0.9);
}
#test article.tr_right {
-webkit-transform: perspective(400px) rotateY(-20deg) scale(1);
}
#test article:hover, #test article:active {
-webkit-transform: perspective(400px) scale(1.2);
}