字体在网页中画ICON图标
用字体在网页中画ICON图标有三种小技巧:
1、用CSS Sprite在网页中画小图标
实现方法:
- 首先将小图片整合到一张大的图片上
- 然后根据具体图标在大图上的位置,给背景定位。background-position:xpos ypos;相对位置为左上角的 0 0,向右向下取负值
实例部分的html代码及js代码(通过js来改变背景图的位置)
<ul class="sprite">
<li>
<s class="s-icon"></s>
<a href="">1</a>
</li>
<li>
<s class="s-icon"></s>
<a href="">2</a>
</li>
<li>
<s class="s-icon"></s>
<a href="">3</a>
</li>
<li>
<s class="s-icon"></s>
<a href="">4</a>
</li> </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图片中把颜色较近或相同的组合在一起可以降低颜色数,因为少色数的图片文件体积会相对的小。
四、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中

以上准备工作做好之后就可以进行编码
<ul class="layout">
<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="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>
</ul>
html
@font-face{
font-family: "icon";
src:url("../fonts/icomoon.eot");
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: "icon";
font-style: normal;
font-weight: normal;
font-size: 64px;
-webkit-font-smoothing: antialiased; /*使页面上的字体抗锯齿*/
-moz-osx-font-smoothing: grayscale;
}
css
好处:
1、灵活性:轻松改变图标的颜色或其他css效果
2、可扩展:改变图标的大小,就像改变字体大小一样
3、矢量性:缩放图标不会影响清晰度
4、兼容性:字体图标支持所有现代浏览器(包括IE6)
5、本地使用:通过添加定制字体到本系统,可以在各种设计和编辑应用程序中使用
—————————————————————————————我是分割线————————————————————————————
3、font+css在网页中画ICON小图标
第三种方法也是利用上面的icomoon,不过这一种是利用:before伪元素,具体编码就如:


字体在网页中画ICON图标的更多相关文章
- 用字体在网页中画Icon图标
第一步,下载.IcoMoon网站选择字体图标并下载,解压后将fonts文件夹放在工程目录下.fonts文件夹内有四种格式的字体文件: 注:由于浏览器对每种字体的支持程度不一致,要想在所有浏览器中都显示 ...
- 如何用字体在网页中画icon
一.用css雪碧图 1.简介 CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式.它允许将一个页面涉及到的所有零星图片都包含到一张大图中, 利用CSS的“background- ...
- 用字体在网页中画icon小图标
HTML结构: <i class="icons icon-ui"> 㐺 <i> <i class="icons icon-ui"& ...
- 在网页中制作icon图标
用字体在网页中画icon图标 第一步:获取字体资源IconMoon网站https://icomoon.io iconMoon中有很多免费小图标可用,还能设置下载图标的使用属性(通过网站中设立的按钮pr ...
- MFC在对话框中的Picture contrl控件中添加icon图标,并改变icon图标的背景色与对话框背景色一致
1.在对话框添加Picture Contrl 控件 2.选中控件,修改ID为IDC_STATIC_PICTURE 和 Type属性为icon 其图标改为 3.添加变量m_picture变量名是灰色,说 ...
- 网页中多个图标在一张图片上,使用css将各图标显示
现在的网页中显示很多图标算是常态,发现项目中页面上用到的图标都是单个图标单个文件,用的时候直接往页面上挂,这确实很常态. 如果,网站是挂在外网上,或者网速过低,又大量使用图标的情况下,由于浏览器和服务 ...
- 18 Zabbix 新增map中的icon图标
点击返回:自学Zabbix之路 18 Zabbix 新增map中的icon图标 zabbix系统默认会带有许多的icon图标,但对于特殊需求人群可能无法满足,那就需要新增icon图标. 通过Admin ...
- 怎么在网页中加入ICO图标
1.首先制作一个16x16的icon图标,命名为cssbbs.ico(这里的名字可以随便改!),放在根目录下.2.然后将下面的代码嵌入head区:<link rel="icon&quo ...
- bootstrap在input框中加入icon图标
<form class="form-horizontal"> <div class="form-group has-feedback"> ...
随机推荐
- MathType 6.9 介绍安装
1.介绍 MathType是强大的数学公式编辑器,与常见的文字处理软件和演示程序配合使用,能够在各种文档中加入复杂的数学公式和符号,可用在编辑数学试卷.书籍.报刊.论文.幻灯演示等方面,是编辑数学资料 ...
- Fragment应用总结
1.FrameLayout 常用于作为Android自带组件的父节点 2.Fragment就是一个普通的Java类,用Android.app这个包 Fragment也是一个ListVi ...
- JavaScript方法call、apply、caller、callee、bind的使用详解及区别
一.call 方法 调用一个对象的一个方法,以另一个对象替换当前对象(其实就是更改对象的内部指针,即改变对象的this指向的内容). 即 “某个方法”当做“指定的某个对象”的“方法”被执行. Js代 ...
- [BZOJ3173][Tjoi2013]最长上升子序列
[BZOJ3173][Tjoi2013]最长上升子序列 试题描述 给定一个序列,初始为空.现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置.每插入一个数字,我们都想知道此时最长上 ...
- opencv的图片的灰度处理‘
#include "stdafx.h" //实现将彩色图片转换成灰度图 int _tmain(int argc, _TCHAR* argv[]){ IplImage *image; ...
- 数组排序sort()
数组排序sort() sort()方法使数组中的元素按照一定的顺序排列. 语法: arrayObject.sort(方法函数) 参数说明: 1.如果不指定<方法函数>,则按unicode码 ...
- 在linux中减小和增大LV的过程与思考
今天在安装oracle 11 rac的时候,查看操作系统df -lh,发现/home目录竟然分了500多G,/根目录才有50G,当时我就爆了句粗口,这TM系统是怎么做的. Filesystem ...
- 【原创】js实现一个可随意拖拽排序的菜单导航栏
1.想做这个效果的原因主要是用在UC上看新闻发现他们的导航菜单很有趣.无聊的时候在哪划着玩了很久.所以就干脆自己写一个.原效果如下 2.整体效果如下,在已推荐和未添加里面每个小方块可以触摸移动位置互换 ...
- mac下剪切文件或文件夹
首先选中文件,按Command+C复制文件:然后按Command+Option+V:就可以把你的文件剪走了!
- Handlebars块级Helpers
1.Handlebars简单介绍: Handlebars是JavaScript一个语义模板库,通过对view和data的分离来快速构建Web模板.它采用"Logic-less templat ...