Popraw jakość rotacji tekstu css3
Stworzyłem serię zaokrąglonych zakładek przy użyciu CSS3. Następnie obróciłem te karty, ale jakość tekstu (Windows-Chrome) jest słaba, a także "dims/blurs" przy przejściu. Jakie są alternatywy? Czy poprawnie zastosowałem CSS? Czy lepiej byłoby obrócić karty i utrzymać tekst w poziomie?
2 answers
Chrome
Chrome domyślnie nie włącza antyaliasingu. Ale możesz dodać tę właściwość CSS do swoich elementów, aby ją włączyć:
transform: translate3d(0,0,0);
To zmusi przeglądarkę do użycia akceleracji sprzętowej do obliczenia przekształceń, co doda trochę antyaliasingu jako bonus.
Ten sam efekt można również zastosować, ustawiając -webkit-backface-visibity
na hidden
:
-webkit-backface-visibility: hidden;
Oto twój zaktualizowany jsfiddle (testowany w Chrome)
Firefox
Firefox domyślnie włącza anti-aliasing, więc nie jest wymagana transform3d hack, ale jakość algorytmu anti-aliasign różni się w zależności od wersji przeglądarki. Oto kilka zdjęć porównawczych:
Najlepiej jest dostosować czcionkę, aby była bardziej przyjazna dla algorytmu antyaliasingu. W w tym przypadku może pomóc wybór grubszej i większej czcionki.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-22 17:52:12
Jak wspomniałem, korzystanie z javascript może sprawić, że przejście będzie płynniejsze, bez zakłócania tekstu lub obramowania. Zastąpienie przejść CSS tym wydawało się bardzo pomocne. Jest to użycie jQuery-użyj oczywiście wybranego narzędzia:
// <li> needs position:relative; in the CSS
$('li').hover(
function(){
$(this).stop().animate({'top':'-10px'});
},function(){
$(this).stop().animate({'top':'0'});
}
);
Nie jestem na tyle szczęśliwy, aby móc używać CSS3 bardzo często, więc nie jest to obszar wiedzy dla mnie - ale niestety musiałem usunąć istniejące CSS hover transitions, aby dostać go do praca. Możesz użyć techniki wykrywania javascript, aby powrócić do transtitions CSS, na przykład dodając class="js-enabled"
do tagu body (z js oczywiście) i używając go w selektorze CSS.
Poza tym, myślę, że nie masz gazu, chyba że chcesz używać obrazów (bah) lub poczekać kilka lat, aż przeglądarki poradzą sobie z tym trochę lepiej (grr). Nie bierz tego jako Ewangelii, ktoś może mieć rozwiązanie dla ciebie - ale pomyślałem, że przynajmniej zaoferuję obejście.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-22 15:03:23