特殊字体的兼容--图片代替

Posted 孙大阳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了特殊字体的兼容--图片代替相关的知识,希望对你有一定的参考价值。

ui效果:要实现的当然就是------->""的兼容啦;

自己的思路:将每一个数字和‘逗号’看成一个单独的元素,用雪碧图为每一个元素添加背景图,通过循环接收到的data动态添加元素并动态修改背景图的定位属性。。。就这样

雪碧图长这样:

直接上代码:css样式上注意提前给“逗号”背景图哦;

 1 <body>
 2         <ul id=\'itemList_ul\'></ul>
 3         
 4         <script type="text/javascript">
 5             
 6             /**
 7              * 循环data动态生成所需元素并设置其背景图定位属性
 8              * @param {Object} dataS    
 9              * @param {Object} targetId    
10              */
11             function imgNumber (dataS,targetId){
12                 for(var i=0; i<dataS.length; i++){
13                     
14                     var $lihtml    =    $(\'<li></li>\');
15                     //动态生成背景图需要的定位属性
16                     var xbar    =    +dataS[i]*(-55)-575;
17                     //这里有个小坑:dataS[i]是string,所以记得转number
18                     
19                     $(targetId).append($liHtml);
20                     $liHtml.css(\'background\',\'url(images/HeNan01.png)no-repeat \'+xbar+\'px \'+\'0\');
21                     
22                 };
23                 //反向循环并添加“逗号”(千位符)
24                 for(var j=dataS.length; j>0; j--){
25                     //判定当前位置的字符是否整侧除3(千位符3个字符一个)
26                     if( +j%3 === 0 ){
27                         //判断余数在对应的位置添加千位符
28                         if(dataS.length%3 === 0){
29                             $(targetId+ \' li\').eq(j).before($(\'<li class="splitLi" ></li>\'));    
30                         };
31                         if(dataS.length%3 === 1){
32                             $(targetId+ \' li\').eq(j-2).before($(\'<li class="splitLi" ></li>\'));    
33                         };
34                         if(dataS.length%3 === 2){
35                             $(targetId+ \' li\').eq(j-1).before($(\'<li class="splitLi" ></li>\'));    
36                         }
37                     }
38                 }
39                     
40             }
41             
42             var numberS        =    \'188554236\';
43             imgNumber (numberS,\'#itemList_ul\');
44             
45             
46         </script>
47     </body>

运行效果:

当然用正则也是可以达到效果的,欢迎指教,欢迎分享其他实现方法。

 

以上是关于特殊字体的兼容--图片代替的主要内容,如果未能解决你的问题,请参考以下文章

字体图标 icon font

通过字体代替图片优化,如何使用Font Awesome字体图标?

PS插件iconfont

一些CSS中的优化

引入特殊字体

如何进行前端优化