By
chester40
Здравствуйте. Прошу помочь в решении следующей задачи:
Имеется родительский элемент со свойством clip-path и дочерний элемент с анимацией:
Для примера:
HTML
<div id="logoimage-waves">
<div id="waves-animated"></div>
</div>
<svg>
<clipPath id="WavesPolygon">
<polygon points="0 0,95 0,95 8,80 5,60 10,40 15,20 20">
</polygon>
</clipPath>
</svg>
CSS
#logoimage-waves {
width: 100px;
height: 100px;
clip-path: url("#WavesPolygon");
-webkit-clip-path: polygon(0px 0px,95px 0px,95px 8px,80px 5px,60px 10px,40px 15px,20px 20px);
position: absolute;
}
#waves-animated {
width: 100px;
height: 100px;
position: absolute;
background: url(/images/waves.png) no-repeat;
animation: waves-animation 40s;
}
@keyframes waves-animation {
from {
transform:rotate(0deg);
}
to {
transform:rotate(-360deg);
}
}
Вопрос следующий:
В Firefox всё работает как надо, дочерний анимированный элемент обрезается с помощью свойства clip-path родительского элемента. Но в других браузерах (проверял в Chrome 55 и Opera 41) обрезка не работает и элемент показывается полностью. Причём, что важно, это происходит только в том случае, если дочерний элемент анимирован с помощью свойства transform, а если анимируется другое свойство, например margin, то обрезка работает во всех браузерах. Короче говоря: дочерние элементы анимированные с помощью transform не обрезаются с помощью clip-path родительского элемента в Хроме и Опере.
В общем задачка та еще. Второй день пытаюсь решить )
Благодарю за внимание!
Question
ows.nightwolf
Доброго времени суток. Возникла проблема при анимации переворота блоков, а если точнее - неправильное отображение перспективы. Суть проблемы словами описать сложновато, так что выкладываю код:
http://jsbin.com/uGaFihE/4/edit?html,css,js,output
и картинки, описывающие:
1) Перспективу такой, какая она есть сейчас:
2) И такой, какой должна быть в идеале (все внимание - на углы в центре изображения ):
Как можно реализовать данную анимацию, не помещая эти два блока в один контейнер?
Edited by ows.nightwolfLink to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.