Ich habe ein Problem mit CSS3 Skalierung und Safari (v10.0.1).CSS3 Scale Flicker in Safari
I haben eine Auswahl von Gitterpositionen mit der folgenden Struktur:
<div class="grid-inline col-12 bp1-col-6 bp3-col-3 index-grid-selector index">
<a href="">
<div class="index-grid-item">
<div class="index-grid-dummy"></div>
<img srcset=", 2x" title="" alt="">
</div>
</a>
</div>
CSS (LESS):
.index-grid-selector {
a {
.index-grid-item {
position: relative;
overflow: hidden;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
.index-grid-dummy {
padding-bottom: 100%;
}
img {
position: absolute;
top: 0;
left: 0;
-webkit-transition: all 0.25s ease-in-out;
-moz-transition: all 0.25s ease-in-out;
-ms-transition: all 0.25s ease-in-out;
-o-transition: all 0.25s ease-in-out;
transition: all 0.25s ease-in-out;
}
}
}
&:hover {
.index-grid-item {
img {
transform: scale(1.2);
-webkit-transition: all 0.25s ease-in-out;
-moz-transition: all 0.25s ease-in-out;
-ms-transition: all 0.25s ease-in-out;
-o-transition: all 0.25s ease-in-out;
transition: all 0.25s ease-in-out;
}
}
}
}
Das Bild absolut innerhalb des Rasterelement Behälters positioniert wird, und dann auf schweben skalierten .
Während der Bildskalierung in Safari wird das Bild leicht vergrößert und scheint sich zu verschieben. Lücken (weiße Linien) erscheinen um das Bild herum. Sobald die Animation abgeschlossen ist, sitzt das Bild korrekt, bis die Hover-Funktion entfernt wird.
Ich habe hier eine Arbeitsdemo eingerichtet, um das Problem zu demonstrieren.
http://www.testdomainone.co.uk/test.html
Ich habe versucht, das Folowing auf das Bild und Muttergesellschaft, aber das Problem weiterhin auftritt.
-webkit-transform-style: preserve-3d;
-webkit-transform:translate3d(0,0,0);
-webkit-transform: translateZ(0)
Weiß jemand, wie das behoben werden kann?
im CSS festgelegt werden Hast du versucht -webkit-backface-visibility: hidden; oder die folgenden zwei zusammen? -Webkit-Perspektive: 1000; -webkit-backface-visibility: versteckt; –
@LucasCordina Ich habe bereits eine Rückseitensicht hinzugefügt, aber ich habe es gerade mit Perspektive versucht und leider keine Änderung. – ccdavies
Versuchen Sie mit der Änderung "Übergang: alle" in "Übergang: transformieren" – LGSon