WebKit: Verschwommen text mit css skalieren + translate3d
Ich sehe ein Problem, wo Chrome und anderen WebKit-Browsern Massiv verschleiern css-skalierten Inhalts, der hat auch translate3d angewendet.
Hier ist ein JS-Fiddle: http://jsfiddle.net/5f6Wg/. (Ansicht in Chrome.)
CSS:
.test {
-webkit-transform: translate3d(0px, 100px, 0px);
}
.testInner
{
/*-webkit-transform: scale(1.2);*/
-webkit-transform: scale3d(1.2, 1.2, 1);
text-align: center;
}
HTML:
<div class="test">
<div class="testInner">
This is blurry in Chrome/WebKit when translate3d and scale or scale3d are applied.
</div>
</div>
Gibt es bekannte workarounds für dieses? Ich verstehe, dass in dem einfachen Beispiel oben, konnte ich einfach verwenden, übersetzen, anstatt translate3d - der Punkt hier ist, Streifen Sie den code auf das wesentliche.
- Gleich auf firefox
- ich denke, dass dieses Problem behoben ist, nicht verschwommen zu mir
- Ein kleines Plus: in der letzten Chrome-ich stucked mit dem problem, wie bei der Verwendung von nicht gerundeten Werte für
translate3d
. Rundung Sie Feste aller Unschärfe für mich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Webkit-leckereien 3d umgewandelt Elemente wie Texturen, statt Vektoren, um 3d-hardware-Beschleunigung. Die einzige Lösung wäre, zu erhöhen die Größe der Schrift und die Drosselung der element, die im wesentlichen die Schaffung einer höheren res-textur.
Finden Sie hier:
http://jsfiddle.net/SfKKv/
Beachten Sie, dass Anti-Aliasing ist noch underpar (Stängel sind verloren) also ich bin beefing den text mit ein wenig text-shadow.
Fand ich, dass die Verwendung von:
auf dem Behälter Ihrer schriftart oder Symbol legen Sie hielten es frisch für mich nach dem experiment mit dem Thema auf Android 4.2 für nexus irgendwann.
-webkit-transform: translate3d(0,0,0)
CSS3 bringt eine Reihe von standard-filter-Effekte-einer von Ihnen ist der blur-fitler:
Stellen Sie den radius auf 0 gesetzt wird, Kraft-browser zu verwenden GPU-Berechnung und die Kraft es zu behalten, das html-element unverändert. Es ist wie die Anwendung eines "harten Kanten" - Effekte.
Also für mich die beste Lösung um dieses Problem zu beheben verschwommen Effekt war, fügen Sie diese einfachen code-Zeile:
Dort ist auch ein bekannter bug, der betrifft nur die retina-Bildschirme. (Siehe hier: Warum nicht verwischen(0) entfernen Sie alle text-blur in Webkit/Chrome auf retina-Bildschirmen?). So, damit funktioniert es auch für retina, ich empfehle das hinzufügen dieses zweiten Zeile:
Versuchen, diese
Oder für eine genauere Vorgehensweise können Sie rufen eine javascript-Funktion zum neu berechnen der Transformationsmatrix durch entfernen der dezimalen Werte der matrix. siehe: https://stackoverflow.com/a/42256897/1834212
zoom: 1.005;
gut funktioniert. keine Notwendigkeit zu verwendenscale
Stieß ich auf dieses Problem bei der Verwendung des Isotop-plugin (http://isotope.metafizzy.co/index.html) in Kombination mit dem zoom-plugin (http://janne.aukia.com/zoomooz/). Ich baute ein jquery-plugin, zur Bearbeitung meines Falles. Ich warf ihn in ein github-repo, falls jemand davon profitieren könnten. - https://github.com/charleshimmer/jquery-hirestext.
Ich javascript ein, um den text zu bewegen 1px oben und dann mit 100ms nach -, zurück-1px nach unten. Es ist fast unperceptive und löste das problem vollständig cross-browser -.
oder ich denke, Sie könnten, dass auf ein bestimmtes element, aber ich hatte Probleme mit einem element betreffen die gesamte Website.
Ich denke, es ist ein problem mit custom font-face-Schriftarten.
Das hat nichts damit zu tun. Sie werden bemerken, dass Ihre aliasing-problem kann behoben werden, mit der neben der Dauer und Richtung der information (z.B. 0.3 linear). Ihrer eine stute Rendern alles, was zur Laufzeit:
Gleiche für die oben ^