Files
dpage-editor/src/pages/viewer/styles/entranceAnimations.css
T
hamid zarghami 7f4c29bd33
deploy to danak / build_and_deploy (push) Has been cancelled
fix in ios 18
2026-06-06 15:28:48 +03:30

88 lines
2.0 KiB
CSS

/* PowerPoint-style entrance animations for viewer (keyframes use --ve-* vars from JS) */
/*
* Hint GPU compositing layer on page elements to prevent blank/white pages
* during page flip animations on iOS 17/18 Safari (WebKit compositing bug
* triggered when isolation:isolate interacts with 3D CSS transforms).
*/
.stf__block,
.stf__item,
.page {
will-change: transform;
}
@keyframes viewer-entrance-fade {
from {
opacity: 0;
}
to {
opacity: var(--ve-opacity-end, 1);
}
}
@keyframes viewer-entrance-fly-left {
from {
opacity: 0;
transform: translateX(calc(-1 * var(--ve-dist, 48px))) rotate(var(--ve-rot, 0deg));
}
to {
opacity: var(--ve-opacity-end, 1);
transform: translateX(0) rotate(var(--ve-rot, 0deg));
}
}
@keyframes viewer-entrance-fly-right {
from {
opacity: 0;
transform: translateX(var(--ve-dist, 48px)) rotate(var(--ve-rot, 0deg));
}
to {
opacity: var(--ve-opacity-end, 1);
transform: translateX(0) rotate(var(--ve-rot, 0deg));
}
}
@keyframes viewer-entrance-fly-top {
from {
opacity: 0;
transform: translateY(calc(-1 * var(--ve-dist, 48px))) rotate(var(--ve-rot, 0deg));
}
to {
opacity: var(--ve-opacity-end, 1);
transform: translateY(0) rotate(var(--ve-rot, 0deg));
}
}
@keyframes viewer-entrance-fly-bottom {
from {
opacity: 0;
transform: translateY(var(--ve-dist, 48px)) rotate(var(--ve-rot, 0deg));
}
to {
opacity: var(--ve-opacity-end, 1);
transform: translateY(0) rotate(var(--ve-rot, 0deg));
}
}
@keyframes viewer-entrance-zoom-in {
from {
opacity: 0;
transform: scale(0.35) rotate(var(--ve-rot, 0deg));
}
to {
opacity: var(--ve-opacity-end, 1);
transform: scale(1) rotate(var(--ve-rot, 0deg));
}
}
@keyframes viewer-entrance-zoom-out {
from {
opacity: 0;
transform: scale(1.45) rotate(var(--ve-rot, 0deg));
}
to {
opacity: var(--ve-opacity-end, 1);
transform: scale(1) rotate(var(--ve-rot, 0deg));
}
}