当前位置:   article > 正文

CSS3篇--rotate/translate等导致字体模糊_css字体旋转后虚化

css字体旋转后虚化

小知识点:rotate/translate等导致字体瞬间模糊又还原,如何处理

css3写了一个 旋转字体图标的方法,很简单的代码,如下:

  1. //css
  2. .icon-down {
  3. font-size: 18px;
  4. color: #19bd9b;
  5. transition: all 1s ease;
  6. -webkit-transition: all 1s ease;
  7. transform: rotate(0);
  8. -webkit-transform: rotate(0);
  9. }
  10. .icon-down.on {
  11. transform: rotate(-180deg);
  12. -webkit-transform: rotate(-180deg);
  13. }
  14. //html
  15. <i class="iconfont icon-down"></i>
  16. //js
  17. $(".select-box").click(function() {
  18. var t = $(this);
  19. var e = t.find(".select-option").css("display");
  20. if("none" == e){
  21. $(".select-box .select-option").css("display","none");
  22. $(".select-box .select-value > i").removeClass("on");
  23. t.find(".select-option").slideDown();
  24. t.find(".select-value > i").addClass("on");
  25. }else{
  26. t.find(".select-option").slideUp();
  27. t.find(".select-value > i").removeClass("on");
  28. }
  29. });
上面代码运行后,发现在与该代码毫无关系的一个节点的字体变模糊了一下,一秒后又还原了,作为强迫症患者,这肯定不能忍,后来发现是这句导致


这句就只添加了名为on的class,其中只增减了一句rotate的代码,搜了搜,不只我一个人遇到了这个问题,好吧,css3的问题,按照大家的办法试了下。

1,将宽高设为了偶数,不行

2,增加css backface-visibility:hidden,不行。

3,translate里的参数用固定值不用百分比这些,我用rotate,这用不着。

4,给字体强制透明度,weight,并提高优先级,不行。

后来试着在代码里加了一句transform:translate3d(0,0,0),然后就解决了。。。

  1. .icon-down {
  2. display: block;
  3. font-size: 18px;
  4. color: #19bd9b;
  5. transition: all 1s ease;
  6. -webkit-transition: all 1s ease;
  7. transform: rotate(0);
  8. -webkit-transform: rotate(0);
  9. transform:translate3d( 0, 0, 0);
  10. -webkit-transform:translate3d( 0, 0, 0);
  11. }
  12. .icon-down.on {
  13. transform: rotate(-180deg);
  14. -webkit-transform: rotate(0);
  15. transform:translate3d( 0, 0, 0);
  16. -webkit-transform:translate3d( 0, 0, 0);
  17. }

后来发现将translateZ(0)代替 translate3d(0,0,0)也可以解决。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号