icon 用法

icon 的5种用法

icon有5种常用的用法:

  1. img 用法
  2. background 用法
  3. background 一张图(CSS sprite 雪碧图)
  4. font 字体
  5. SVG

切图

制作 icon ,首先需要素材,这时候就要用到 Photoshop 了。
素材一般有两种:

  1. PSD格式
  2. PNG格式

PSD格式切图

这里我已经准备好了 PSD格式的素材,直接用 Photoshop 打开就可以了。


PSD格式.png

现在我们的任务就是要把图中的4个 icon 切出来。
步骤:

  1. 选中图层


    image.png

    点击上图中箭头指向的按钮,选择移动工具。
    然后将鼠标移至要切出来的图像,点击左键。


    image.png

    可以看到图片右边箭头指向了一个图层,现在将该图层的锁定按钮关掉。

    可以看到,QQ 图标不见了,说明这个图层就是我们想要切出来的图层。
    这时候就已经选中了这个图层了。

  2. 复制图层
    鼠标右键点击选中的图层,选择复制图层


    image.png

    将弹出的选框中目标文档改为新建


    image.png

    在新生成的文件中选择图像,再点击图片下方的裁切,在弹框中选确定
    image.png

    在这里可以选择图像=》画布大小调整图片大小

    这时候就可以看到切出来的图片了,由于是白色的图片,所以有点模糊,加个黑色背景填充吧


    image.png
  3. 保存图片
    点击文件,再点击导出,选择右侧导出为PNG,存储起来就可以了


    导出

接下来按照同样的方式将4个 icon 都切下来。


icon

这就是切下来的4个icon素材了。

PNG格式切图

我已经提前将图标转为 PNG 格式了


image.png

步骤:

  1. 新建一个文档,用来存放切出来的 icon


    新的文档
  2. 将内容切出来
    使用选框工具选中要切出来的内容


    image.png

    再切换魔棒工具


    image.png

    右键减去不要的内容
    减去

    选择移动工具
    image.png

    使用移动工具将切出来的内容拉到新建的文档


    image.png

    裁切一下,图片就切完了。
  3. 按照PSD格式切图的保存方式将图片保存下来。

切图收工。

1. img 用法

img 用法就是指直接将 icon 作为图片插入到页面中。

HTML

<div class="icons">
    <img src="./net.png">
    <img src="./qq.png">
    <img src="./twitter.png">
    <img src="./weibo.png">
</div>

显示效果

显示效果

img用法的好处:

  • 图片可以适应 img 的大小调整
  • 简单

img用法的坏处:

  • 图片过多,影响性能
  • img 标签不利于语义化
  • img 的大小设置可能使图片适应而变形,不好看。

2. background 用法

background用法就是将图片作为元素的background来插入。

HTML

<div class="icons">
    <div class="icon qq"></div>
    <div class="icon weibo"></div>
    <div class="icon twitter"></div>
    <div class="icon net"></div>    
</div>

CSS

.icon{border: 1px solid red;display: inline-block;width: 24px;height: 25px;}
.qq{background: transparent url(./qq.png) no-repeat 0 0;}
.weibo{background: transparent url(./weibo.png) no-repeat 0 0;}
.twitter{background: transparent url(./twitter.png) no-repeat 0 0;}
.net{background: transparent url(./net.png) no-repeat 0 0;}

显示效果

显示效果

3. background 一张图(CSS sprite 雪碧图)

Sprite图原理:使用 background-position 属性调整背景图的位置,使想要呈现的图像呈现出来,其余的隐藏。
通过Sprite生成器可以将多张图片合成一张,并且生成所需代码。

生成器页面

步骤:

  1. 上传图片


  2. 选择生成图片格式


  3. 填写 CSS 前缀


  4. 选择图片间距


  5. 点击生成


    生成的Sprite图
  6. 保存
    右键点击图片,将图片保存下来


    保存

Sprite 图使用

HTML

<div class="icons">
    <div class="icon qq"></div>
    <div class="icon weibo"></div>
    <div class="icon twitter"></div>
    <div class="icon net"></div>    
</div>  

CSS

.icon{ display: inline-block; width:30px; height: 30px; background: url('./sprite.png') no-repeat; overflow: hidden; text-indent: -9999px; text-align: left; }
.net { background-position: -0px -0px; width: 30px; height: 30px; }
.qq { background-position: -30px -0px; width: 30px; height: 30px; }
.twitter { background-position: -0px -30px; width: 30px; height: 30px; }
.weibo { background-position: -30px -30px; width: 30px; height: 30px; }

显示效果

显示效果

4. font字体

font字体使用分为两种情况:

  • 作为字体直接在HTML中使用
  • 在CSS中使用
    font字体需要用到一个神器的网站,点击它.
    由于阿里巴巴矢量图库上传图标需要SVG格式,避免麻烦就不用自己的图标了。我们直接从图标库中添加图标,步骤如下:
  1. 在搜索框中搜索图标,点击添加进购物车


    添加图标
  2. 点击页面右上角购物车图标,将购物车中的图标添加进一个项目


    新增项目
  3. 项目生成完成


    完成

字体使用

  1. 选中Unicode,点击生成代码


    生成代码

    生成的代码
  2. 复制代码,将代码粘贴至样式表最前面
    这时候,图标就已经变成了一个字体了。我们可以像正常使用字体那样使用它。
  3. 示例
HTML
<body>
    <span class="iconfont">
            &#xe65c;
            &#xe619;
            &#xe643;
    </span>
</body>
CSS
<style>
    @font-face {
        font-family: 'iconfont';  /* project id 505367 */
        src: url('//at.alicdn.com/t/font_505367_1xd09i3l98xs9k9.eot');
        src: url('//at.alicdn.com/t/font_505367_1xd09i3l98xs9k9.eot?#iefix') format('embedded-opentype'),
        url('//at.alicdn.com/t/font_505367_1xd09i3l98xs9k9.woff') format('woff'),
        url('//at.alicdn.com/t/font_505367_1xd09i3l98xs9k9.ttf') format('truetype'),
        url('//at.alicdn.com/t/font_505367_1xd09i3l98xs9k9.svg#iconfont') format('svg');
    }
    .iconfont{
        font-family:"iconfont" !important;
        font-size: 100px;
    }
</style>
显示效果

image.png

阿里巴巴矢量图标库使用说明

CSS使用

  1. 将生成代码的链接作为CSS外部样式表的链接插入文档
    <link rel="stylesheet" href="//at.alicdn.com/t/font_505367_1xd09i3l98xs9k9.css">
  2. 挑选相应图标并获取类名,应用于页面
    <span class="iconfont icon-QQ"></span>
  3. 效果
    效果

    因为本质上还是使用字体,所以依然可以通过操作.iconfont类来对字体样式进行修改。

5. SVG使用

SVG使用依然是使用阿里巴巴矢量图标库
步骤:

  1. 第一步依然是复制代码,不过这回是 JavaScript 链接
    / <script src="//at.alicdn.com/t/font_505367_1xd09i3l98xs9k9.js"></script>
  2. 加入通用css代码(引入一次就行)
<style type="text/css">
    .icon {
       width: 1em; height: 1em;
       vertical-align: -0.15em;
       fill: currentColor;
       overflow: hidden;
    }
</style>
  1. 挑选相应图标并获取类名,应用于页面
<svg class="icon" aria-hidden="true">
    <use xlink:href="#icon-QQ"></use>
</svg>
  1. 示例

HTML

<svg class="icon" aria-hidden="true">
    <use xlink:href="#icon-QQ"></use>
</svg>

JS

<script src="//at.alicdn.com/t/font_505367_1xd09i3l98xs9k9.js"></script>

显示效果

显示效果

SVG使用的好处:

  • 可以使用彩色图标
  • 调整SVG的widthheight调整大小
  • 目前推荐使用的方法。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,426评论 25 707
  • 1.三问切图 什么是切图?从设计稿(如.psd文件)中切出图片素材(如.png、.jpg文件)DIV+CSS切图1...
    LuckyPandaLee阅读 2,215评论 0 14
  • 简介 GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地...
    anotherme17阅读 257评论 0 0
  • 10月2日 星期日 晴 100天行动第13天 日子会在不经意间溜走,曾经经历过的美好的事情,有价值的行动和改变,但...
    张原铭阅读 269评论 0 0
  • 今天休息,本想早早将作业交了,心里有许多的想法,什么都想写,结果是坐下来却什么都写不出来。眼看着时间就要过去,不知...
    悠悠心旅阅读 285评论 0 0