总结几个小图标实现方法

前言:页面总是时不时会出现小图标,就来总结一些自己知道的实现方法,应用情况依靠场景大家自行参考吧。

(一)雪碧图

CSS雪碧 即CSS Sprite,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将小图标和背景图像合并到一张图片上,然后利用css的背景定位来显示需要显示的图片部分。

特点:相对于单个小图标,它节省了文件体积和服务请求次数。主要是因为将所有的零碎的小图片整合在一起,可以有效的减少http对图片的请求次数,不需要多次加载零碎的背景图片,所以合理的利用它可以有效的提高网页的加载速度。

注意:您要预先确定每一个小图标的大小,知道图片与图片之间的距离。一般使用Photoshop或者fireworks等一些作图软件进行雪碧图制作。

网上查到几个可以制作雪碧图的工具,我还没试过,有兴趣的可以看看 ,下面是链接:

http://www.360doc.com/content/12/0802/05/21412_227764450.shtml

http://www.cnblogs.com/joyho/articles/3715260.html

(二)css伪类绘制ICON

使用css的 :after、:before、border、width、height、border-radius  等属性配合就可以制作一些小图标。

eg: HTML  <div class="search-icon"></div>

CSS   .search-icon{

color: #000;

position: absolute;

margin-top: 2px;

margin-left: 3px;

width: 12px;

height: 12px;

border: solid 1px currentColor;

border-radius: 100%;

-webkit-transform: rotate(-45deg);

transform: rotate(-45deg);

}

.search-icon:before {

content: ‘‘;

position: absolute;

top: 12px;

left: 5px;

height: 6px;

width: 1px;

background-color: currentColor;

}

(三)字体图标

Font Awesome 字体可以提供可缩放矢量图标,它可以被定制大小、颜色、阴影以及任何可以用Css的样式。具体使用请详读官网,里面有实例可参考。

官网:

http://fontawesome.io/icons/  英文网

http://www.fontawesome.com.cn/  中文网

(四)canvas绘制

这个要用到HTML5语义化标签canvas和javascript进行配合,当然canvas还可以做动态动画等其他功能,这里只是想到这个方法。下面是一个板栗,画一个星星:

<canvas id="canvas">

当前浏览器不支持canvas,请更新浏览器后再试

</canvas>

<script type="text/javascript" lang="javascript">

window.onload = function(){

var canvas = document.getElementById("canvas");

canvas.width = "800";

canvas.height = "800";

var context = canvas.getContext("2d");

drawStar(context,150,300,400,400,10,"red","yellow",30);

};

function drawStar(cxt,r,R,x,y,borderWidth,borderColor,fillColor,rot){

cxt.beginPath();

for(var i=0; i<5; i++){

cxt.lineTo( Math.cos((18+i*72 - rot)/180*Math.PI)*R + x,

-Math.sin((18+i*72 - rot)/180*Math.PI)*R + y);

cxt.lineTo( Math.cos((54+i*72 - rot)/180*Math.PI)*r + x,

-Math.sin((54+i*72 - rot)/180*Math.PI)*r + y);

};

cxt.closePath();

cxt.fillStyle = fillColor;

cxt.strokeWidth = borderWidth;

cxt.strokeStyle = borderColor;

          cxt.fill();

cxt.stroke();

};

</script>

(五)SVG绘制

SVG 于 2003 年 1 月 14 日成为 W3C 推荐标准。
     SVG可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式。它由万维网联盟制定,是一个开放标准。由于SVG是XML文件,SVG图像可以用任何文本编辑器创建。

下面就画个园:

<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" version="1.1">

<circle cx="330" cy="70" r="60" stroke="green" stroke-width="3" fill="orange" />

</svg>

(六)其他的网上图库插件

这些我只是试用过,具体还请大家自己实践一下。

1)iconfont阿里巴巴矢量图标库

http://www.iconfont.cn/

2)icomoon

https://icomoon.io/   icomoon官网

https://icomoon.io/icons.html

http://icomoon.io/app/

3)easyicon

http://www.easyicon.net/

4)flaticon(Free vector icons - SVG, PSD, PNG, EPS & Icon Font)

http://www.flaticon.com/

5)在线ico转换、制作

https://www.ico.la/

结束语:以上是我现在能想到的方法,若是以后想到还会添加,如果哪里不对或者大家有更新奇的方法请积极留言哈,至于兼容性就请各位自己测试了,新属性有好多是不支持ie9以下版本的。

时间: 2024-08-06 07:51:03

总结几个小图标实现方法的相关文章

iconfont阿里妈妈前端小图标使用方法详解

图标选购网址:http://www.iconfont.cn/ 1.从阿里妈妈网站选购好小图标,加入购物车,下载好文件: 2.把字体文件放入字体(font)文件夹(tff)(woff),(eot) 3.样式表里面引入以下内容(../font 这个是根据相对路径做出相应的选择) @font-face {font-family: 'iconfont';     src: url('../font/iconfont.eot'); /* IE9*/     src: url('../font/iconfo

bootstrap小图标引用方法

<span class="glyphicon glyphicon-search"></span> <span class="glyphicon glyphicon-asterisk"></span> <span class="glyphicon glyphicon-plus"></span> <span class="glyphicon glyphicon-c

win10系统桌面图标变为白色方框和去除桌面图标快捷方式小箭头的方法

一.有些用户在开机后,发现windows10系统桌面的图标都变成了白色的方框.这是怎么回事?下面就为大家介绍一下Win10系统桌面图标变为白色方框的解决办法. 导致win10图标变白的情况有三种,大家可以按照自己的情况选择具体解决方法! (一)最为常见的是设置了显示设置中的:更改文本丶应用和其他项目的大小. 设置后图标会变大,图标缓存也会进行数据的更改,如果处理错误,开机就会出现图标变白. 解决方法如下: 1.右键桌面--显示设置--滑块向左移动--调节到100%--应用. 2.电源--关机--

[转]网站地址栏小图标favicon.ico的制作方法

有人也许会好奇,有的网址前面有个漂亮的小图标而且有的网站图标还会动,这是怎么做到的呢? 如下图所示: 那个小图标有个名字叫favicon.ico,网站图标虽小但可以起到很好的点缀作用,尤其是当浏览者将你的网站放入收藏夹之后,网站图标的作用就出来了,它可以使你的站点在众多网址中突出显示,对于用户体验起到很好的作用,好了,废话不多说,现在来告诉大家怎么做favicon.ico这个网站图标文件. 虽然现在有很多在线制作网站图标的网站,但制作出来的图标实在是差强人意,而且不支持透明样式的ico,这非常糟

如何在网址之前添加小图标

如何在网址之前添加小图标:本章节介绍一下如何在网址前面添加一个小图标,现在知名网站都会有这个小图标,非知名网站也有很多添加这样的小图标,至于有没有好处这里不好说,至少比较美观,下面就就介绍一下如何实现此效果.方法如下:在头部中添加如下代码即可: <link rel='icon' href='antzone.ico' type='image/x-ico' /> 图标的格式必须是.ico格式,在网上有很多在线生成工具. 原文地址是:http://www.softwhy.com/forum.php?

android Editview中加小图标或者文字实现

关于这个问题,如果只是加小图标的话,已经提供了很好的支持,drawableLeft属性就可以设置左边的小图标,类推,右边也可以 不过如果你要加的是文字,我找了下,没有相应的属性,我们只能通过转换思路去实现,我的方法是用个layout去包括一个Textview和一个Editview就可以了. 1 <LinearLayout 2 android:layout_width="match_parent" 3 android:layout_height="wrap_content

网站链接打开以后左边的小图标添加和微信分享左边图标

网站链接打开以后左边的小图标添加: <link rel="shortcut icon" href="styles/img/Logo.jpg">      <link rel="apple-touch-icon" href="styles/img/Logo.jpg">      <link rel="apple-touch-icon" sizes="72x72"

Webcast / 技术小视频制作方法——自己动手录制video轻松搞定

Webcast / 技术小视频制作方法——自己动手录制video轻松搞定 http://blog.sina.com.cn/s/blog_67d387490100wdnh.html 最近申请加入MSP的童鞋应该发现了一个新的要求——制作简短的视频!视频的内容要求是与微软技术相关~我们希望通过使用这种方法,简化申请流程,加强对创意.微软相关技术的考察~关于MSP项目以及申请流程的细则近期也会出台,请童鞋们耐心等待~ 首先呢,就跟广大的童鞋们介绍一款简单使用的录屏软件~而通过简单的安装,便可以轻松.便

初识SFDC创建一个google map(添加了marker小图标)

1 <apex:page > 2 <head> 3 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 4 <script type="text/javascript" src="http://maps.google.cn/maps/api/js?sensor=false"></scr