• 字体在网页中画ICON图标


    用字体在网页中画ICON图标有三种小技巧:

    1、用CSS Sprite在网页中画小图标

      实现方法:

    • 首先将小图片整合到一张大的图片上
    • 然后根据具体图标在大图上的位置,给背景定位。background-position:xpos ypos;相对位置为左上角的 0 0,向右向下取负值

     实例部分的html代码及js代码(通过js来改变背景图的位置) 

     1 <ul class="sprite">
     2         <li>
     3             <s class="s-icon"></s>
     4             <a href="">1</a>
     5         </li>
     6         <li>
     7             <s  class="s-icon"></s>
     8             <a href="">2</a>
     9         </li>
    10         <li>
    11             <s class="s-icon"></s>
    12             <a href="">3</a>
    13         </li>
    14         <li>
    15             <s class="s-icon"></s>
    16             <a href="">4</a>
    17         </li>
    18 
    19     </ul>
    html
    <script type="text/javascript">
            $(document).ready(function(e) {
                var sHeight=$(".sprite s").height();
                var  sWidth=$(".sprite s").width();
                var sLi=$(".sprite").children("li");
            
                sLi.each(function() {
                    var $this=$(this);
                    var sIndex=$this.index();
                    $this.children("s").css("background-position","0 -"+sHeight*sIndex+"px");
                
                    $this.hover(function(e) {
                        $this.children("s").css("background-position", -sWidth+"px"+" -"+sHeight*sIndex+"px");
                    },function(){
                        $this.children("s").css("background-position","0 -"+sHeight*sIndex+"px");
                        });
                });
            });
        </script>
    js

    酌情正确的使用CSS Sprites

    CSS Sprites好处:

    • CSS Sprites(图片整合技术) 的目的是通过整合图片,减少对服务器的请求数量,从而加快页面加载速度。

    CSS Sprites坏处

    • 拼合图片的时间成本会增加(一般拼合是将状态一样的图片拼合在一起,剩余不同状态的再合为一张图片,那么可能一个图片状态的改变,那么整张图片就需要重新制作保存)
    • 编码和维护的时间成本会增加,型的 sprite 会导致无尽地测试和图片状态的重新摆放。
    • 错误的使用sprites会影响可访问性。
    图片优化
      一、对于非动画的GIF更建议使用PNG8因为它同样能做到一样的效果,而且能为你节省10%-30%的文件体积。
      二、Photoshop相比起Fireworks,导出同等质量的PNG图片,体积会稍大。而Fireworks虽然做了相应压缩优化,但没有达到最优秀的压缩。
      三、我所知的设计软件,对于PNG图片的处理都没做到最优秀的压缩,图片体积还有一定的压缩空间。可以尝试使用下面介绍的”图像优化工具” 做无失真的压缩优化。
      四、图片体积及尺寸方面,建议体积保持在100K以内(较为符合国情最佳请求SIZE),size为800px(最佳尺寸)。

    CSS Sprites图片切割术
      三、CSS Sprites图片中把颜色较近或相同的组合在一起可以降低颜色数,因为少色数的图片文件体积会相对的小。
      四、size相同的CSS Sprites图片中留有较大空隙,某程度上多数情况会增大了体积,所以CSS Sprites的图片不要有空隙。
      五、在size相同的CSS Sprites图片中,垂直排列的图片会比水平排列的文件体积要大。
      六、在CSS Sprites图片中,水平排列的图片会比垂直排列的文件体积要大。
      九、黄金切割位:在CSS Sprites图片的最右或左边为最灵活动位置最适宜摆放文本前的icon,因此不会受到其它CSS Sprites图片干预,也不需要预留一定的行宽。
     

    —————————————————————————————我是分割线———————————————————————————— 

    2、font+HTML在网页中画ICON小图标

    使用方法:登录https://icomoon.io按需选择自己需要的图标,导出图标到本地,会有一个demo的文件,找到fonts文件夹,里面的四个文件即自己所需的字体

    预览下载字体

     

    下载下来的Demo文件,选取fonts

    点击Get Code,获取图标对应的十六进制编码

    编码在HTML Entity中

    以上准备工作做好之后就可以进行编码

    1 <ul class="layout">
    2         <li><a href=""><i style="color: #efe0ce;" class="imooc-icon">&#xea62;</i></a></li>
    3         <li><a href=""><i style="color: #ef7073;" class="imooc-icon">&#xea63;</i></a></li>
    4         <li><a href=""><i style="font-size:30px;" class="imooc-icon">&#xea6d;</i></a></li>
    5         <li><a href=""><i style="font-size:60px;" class="imooc-icon">&#xe9cb;</i></a></li>
    6         <li><a href=""><i style="font-size:90px;" class="imooc-icon">&#xe962;</i></a></li>
    7 </ul>
    html
     1 @font-face{
     2         font-family: "icon";
     3         src:url("../fonts/icomoon.eot");
     4         src: url("../fonts/icomoon.eot?#iefix") format("embedded-opentype")
     5              ,url("../fonts/icomoon.woff") format("woff")
     6              ,url("../fonts/icomoon.ttf") format("truetype")
     7              ,url("../fonts/icomoon.svg") format("svg"); 
     8         font-weight: normal;
     9         font-style: normal;        
    10     }
    11 
    12     .imooc-icon{
    13         font-family: "icon";
    14         font-style: normal;
    15         font-weight: normal;
    16         font-size: 64px;
    17         -webkit-font-smoothing: antialiased; /*使页面上的字体抗锯齿*/
    18         -moz-osx-font-smoothing: grayscale;
    19     }
    css

    好处:

    1、灵活性:轻松改变图标的颜色或其他css效果

    2、可扩展:改变图标的大小,就像改变字体大小一样

    3、矢量性:缩放图标不会影响清晰度

    4、兼容性:字体图标支持所有现代浏览器(包括IE6)

    5、本地使用:通过添加定制字体到本系统,可以在各种设计和编辑应用程序中使用

    —————————————————————————————我是分割线————————————————————————————

    3、font+css在网页中画ICON小图标

    第三种方法也是利用上面的icomoon,不过这一种是利用:before伪元素,具体编码就如:

  • 相关阅读:
    解决克隆后eth0不见的问题
    mysql自关联插入数据-级联地区
    java运行时接收参数
    python 安装lxml
    python安装pip
    cv 景深
    cv 计算机视觉研究现状
    CV 光流场计算1( area correlation optical flow)
    cv 纹理
    cv 灰阶分割
  • 原文地址:https://www.cnblogs.com/lpshan/p/4455534.html
Copyright © 2020-2023  润新知