前端学习JS相关

《用字体在网页中画ICON图标》笔记

2016-02-28  本文已影响1275人  8eeb5fce5842

慕课网 用字体在网页中画ICON图标 学习笔记

一、用 CSS Sprite 实现 icon 图标

$(function(){
    var iconH = $(".sprite").find("s").height(),// 小图标的高度
        triggerLi = $(".sprite").children("li");

    triggerLi.each(function(){
        var $this = $(this),
            $index = $this.index();

        $this.children("s").css("background-position","0 -"+ iconH * $index +"px");

        $this.hover(function(){ // 鼠标移入移出切换图片,达到图标变色的效果
            // 鼠标移入
            $this.children("s").css("background-position","-24px -"+ iconH * $index +"px");
        }, function(){ // 24为所切换图的位置
            // 鼠标移出
            $this.children("s").css("background-position","0 -"+ iconH * $index +"px");
        });
    });
});
- 或用CSS实现:
.icon i{background:url(xx.jpg) no-repeat;}
.icon-1 i{background-position:0 0;}
.icon-2 i{background-position:0 -24px;}
.icon-3 i{background-position:0 -48px;}
.icon-4 i{background-position:0 -72px;}
.icon-5 i{background-position:0 -96px;}
.icon-6 i{background-position:0 -120px;}
.icon-7 i{background-position:0 -144px;}
.icon-8 i{background-position:0 -168px;}

二、font + HTML 实现 icon 图标

ae24c379-8378-4d2a-9bc6-4e95f57964c6.png 81c292e0-57e4-4b67-a061-e774218d26b4.png 2d09e642-cb03-4729-bbed-85425558f780.png
@font-face{
    font-family: "imooc-icon";
    src: url("../fonts/icomoon.eot"); /* IE9 兼容模式 */
     /* 超过一个字体格式时,IE会加载失败并报告404错误,因为IE会认为其他字体是查询字符串,因此只会加载eot文件 */
    src: url("../fonts/icomoon.eot?#iefix") format("embedded-opentype") /* eot后加“?”解决非标IE加载失败问题 ,其实只要加“?”即可,“?”后面的只是习惯问题 */
         ,url("../fonts/icomoon.woff") format("woff")
         ,url("../fonts/icomoon.ttf") format("truetype")
         ,url("../fonts/icomoon.svg") format("svg");
    font-weight: normal;
    font-style: normal;
}
.imooc-icon{
    font-family: "imooc-icon";
    font-style: normal;
    font-weight: normal;
    font-size: 64px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
- HTML:
 <!-- 16进制数可在下载的字体文件中的 demo.html 中看到 --> 
<ul class="layout"> <!-- HTML中 16进制 fo48 得写成  -->   <!-- 可以直接改变字体图标的颜色和大小 --> 
    <li><a href=""><i style="color: #efe0ce;" class="imooc-icon"></i></a></li>
    <li><a href=""><i style="color: #ef7073;" class="imooc-icon"></i></a></li>
    <li><a href=""><i style="color: #78ade3;" class="imooc-icon"></i></a></li>
    <li><a href=""><i style="color: #eae77f;" class="imooc-icon"></i></a></li>
    <li><a href=""><i style="color: #3c3c3c;" class="imooc-icon"></i></a></li>
    <li><a href=""><i style="font-size:30px;" class="imooc-icon"></i></a></li>
    <li><a href=""><i style="font-size:60px;" class="imooc-icon"></i></a></li>
    <li><a href=""><i style="font-size:90px;" class="imooc-icon"></i></a></li>
    <li><a href=""><i style="font-size:120px;" class="imooc-icon"></i></a></li>
    <li><a href=""><i style="font-size:148px;" class="imooc-icon"></i></a></li>
</ul>

三、font + CSS 实现 icon 图标

5f1a1e35-a39b-4f31-9c6d-b9eccf8b3a38.png
@font-face{
    font-family: "imooc-icon";
    src: url("../fonts/icomoon.eot"); /* IE9 兼容模式 */
    src: url("../fonts/icomoon.eot?#iefix") format("embedded-opentype")
         ,url("../fonts/icomoon.woff") format("woff")
         ,url("../fonts/icomoon.ttf") format("truetype")
         ,url("../fonts/icomoon.svg") format("svg");
    font-weight: normal;
    font-style: normal;
}
.imooc-icon{
    font-family: "imooc-icon";
    font-style: normal;
    font-weight: normal;
    font-size: 64px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
icon-music:before{  /* 16进制要转义 */
    content: "\e605"
}
.dianying:before{
    content: "\e606";
}
.icon-pacman:before{
    content: "\e607";
}
.icon-feed:before{
    content: "\e608";
}
.icon-file:before{
    content: "\e609";
}
.icon-paste:before{
    content: "\e60a";
}
.icon-folder:before{
    content: "\e60b";
}
.icon-calculate:before{
    content: "\e60c";
}
<ul class="layout"> <!-- 类名最好用下载的字体文件中的 demo.html 和该字体图标的16进制对应的名字 -->
    <li><a href=""><i class="imooc-icon icon-music"></i></a></li>
    <li><a href=""><i class="imooc-icon dianying"></i></a></li>
    <li><a href=""><i class="imooc-icon icon-pacman"></i></a></li>
    <li><a href=""><i class="imooc-icon icon-feed"></i></a></li>
    <li><a href=""><i class="imooc-icon icon-file"></i></a></li>
    <li><a href=""><i class="imooc-icon icon-paste"></i></a></li>
    <li><a href=""><i class="imooc-icon icon-folder"></i></a></li>
    <li><a href=""><i class="imooc-icon icon-calculate"></i></a></li>
    <li><a href=""><i class="imooc-icon icon-calculate"></i></a></li>
    <li><a href=""><i class="imooc-icon icon-calculate"></i></a></li>
</ul>

四、网页中画Icon小图标方法比较

acc085e9-1aa3-4db2-9484-cce23cad62ab.png
上一篇下一篇

猜你喜欢

热点阅读