搜索
首页web前端html教程Font字体小图标应用_html/css_WEB-ITnose

我们知道在页面上载入小图标有多种方式,比如我们使用比较多的是css sprite背景图片定位,就是将很多小图标集成到一张大图,然后使用CSS定位背景。还有一种比较现代的方式是使用font字体图标,它利用@font-face原理载入图标字体库,然后调用图标。

查看演示 下载源码

使用css sprite方式非常方便,可以有很多色彩缤纷的图标,而且兼容性好,但是缺点就是图标不能缩放,或者说缩放了会失真,另外维护也不方便,修改一个图标要对整张大图就行修改,并且定位像素需要借助PS等工具确定位置。而使用图标字体库越来越受开发者青睐,它的维护简单,而且对图标缩放自由,随时都可以展示高清的图标,可以添加阴影效果和动画效果,设置也非常方便,唯一差点的就是图标颜色比较单一,就是设置的时候只能设置一个图标为单一颜色。下面我们来看下如何使用font字体小图标。

HTML

目前市面上有很多字体图标库,有收费的也有免费使用的。常见的有 icomoon, Font-Awesome以及 Glyphicon Halflings,Glyphicon在bootstrap下使用时免费的。当然国内 阿里系也开放了自己的图标库。

本文讲解下使用icomoon字体库,我们可以在官网上选择喜欢的字体图标然后下载并部署到项目中,当然也可以自己制作图标然后上传到官网上。下载好的字体库,在一个fonts/的文件夹里。我们先布置好html结构:

<ul class="icons">	<li class="sp"><i class="icon-spades spades"></i> 黑桃K</li>	<li class="red"><i class="icon-file-picture"></i> 照片</li>	<li><i class="icon-tablet"></i> iPad</li>	<li><a href="#"><i class="icon-bubbles"></i> 评论</a></li></ul>

我们在上面的html代码中,给元素li里添加了,然后加上class属性,class值就对应了css文件里的字体图标样式了。

CSS

首先我们使用@font-face命名字体名称,以及加载的字体文件,需要加载多个字体文件以兼容各浏览器和系统。然后定义class含有icon的样式,注意其中使用了抗锯齿处理,就是图片放大的时候不会出现边缘锯齿现象,然后使用伪类,设置content即图标内容。

@font-face {    font-family: 'icomoon';    src:    url('../fonts/icomoon.eot?42vx6u'); /* IE9 兼容模式 */    src:    url('../fonts/icomoon.eot?42vx6u#iefix') format('embedded-opentype'),        url('../fonts/icomoon.ttf?42vx6u') format('truetype'),        url('../fonts/icomoon.woff?42vx6u') format('woff'),        url('../fonts/icomoon.svg?42vx6u#icomoon') format('svg');    font-weight: normal;    font-style: normal;}[class^="icon-"], [class*=" icon-"] {    font-family: 'icomoon' !important;    speak: none;    font-style: normal;    font-weight: normal;    font-variant: normal;    text-transform: none;    line-height: 1;    /* 抗锯齿处理 =========== */    -webkit-font-smoothing: antialiased;    -moz-osx-font-smoothing: grayscale;}.icon-spades:before {    content: "\e900";}.icon-file-picture:before {    content: "\e901";}.icon-tablet:before {    content: "\e902";}.icon-bubbles:before {    content: "\e903";}

然后,我们运行下html页面,是不是可以看到几个图标了,方便实用吧。

如果想给图标定义动画效果,可以使用css来实现。

.spinner{	-webkit-animation: spinner 1s infinite linear;	animation: spinner 1s infinite linear;}@-webkit-keyframes spinner{	0%{		-webkit-transform: rotate(0deg);		transform: rotate(0deg);	}	100%{		-webkit-transform: rotate(359deg);		transform: rotate(359deg);	}}

以上代码定义了图标旋转动画,我们可以结合js实现这样的效果:当鼠标滑上图标时展示图标旋转动画,当鼠标离开时,停止旋转动画。这个效果的代码大家可以参照demo中的源码。demo中我还加上了Font Awesome字体图标示例和Glyphicons字体图标示例,大家可以查看demo或下载源码了解。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
HTML的目的:启用Web浏览器可以显示内容HTML的目的:启用Web浏览器可以显示内容May 03, 2025 am 12:03 AM

HTML的核心目的在于让浏览器理解并展示网页内容。1.HTML通过标签定义网页结构和内容,如、到、等。2.HTML5增强了多媒体支持,引入了和标签。3.HTML提供了表单元素,支持用户交互。4.优化HTML代码可提升网页性能,如减少HTTP请求和压缩HTML。

为什么HTML标签对Web开发很重要?为什么HTML标签对Web开发很重要?May 02, 2025 am 12:03 AM

htmltagsareessentialforwebdevelopmentastheyandendenhancewebpages.1)heSdefinElayout,语义和互动性。2)SemantictagsiCtagSimproveCacsibilitieAndseo.3)pose poseriblesibilityAndseoandseo.3)poser

说明将一致的编码样式用于HTML标签和属性的重要性。说明将一致的编码样式用于HTML标签和属性的重要性。May 01, 2025 am 12:01 AM

一致的HTML编码风格很重要,因为它提高了代码的可读性、可维护性和效率。1)使用小写标签和属性,2)保持一致的缩进,3)选择并坚持使用单引号或双引号,4)避免在项目中混合使用不同风格,5)利用自动化工具如Prettier或ESLint来确保风格的一致性。

如何在 Bootstrap 4 中实现多项目轮播?如何在 Bootstrap 4 中实现多项目轮播?Apr 30, 2025 pm 03:24 PM

在Bootstrap4中实现多项目轮播的解决方案在Bootstrap4中实现多项目轮播并不是一件简单的事情。虽然Bootstrap...

deepseek官网是如何实现鼠标滚动事件穿透效果的?deepseek官网是如何实现鼠标滚动事件穿透效果的?Apr 30, 2025 pm 03:21 PM

如何实现鼠标滚动事件穿透效果?在我们浏览网页时,经常会遇到一些特别的交互设计。比如在deepseek官网上,�...

HTML 视频的播放控件样式怎么修改HTML 视频的播放控件样式怎么修改Apr 30, 2025 pm 03:18 PM

无法直接通过CSS修改HTML视频的默认播放控件样式。1.使用JavaScript创建自定义控件。2.通过CSS美化这些控件。3.考虑兼容性、用户体验和性能,使用库如Video.js或Plyr可简化过程。

在手机上使用原生select会带来哪些问题?在手机上使用原生select会带来哪些问题?Apr 30, 2025 pm 03:15 PM

在手机上使用原生select的潜在问题在开发移动端应用时,我们常常会遇到选择框的需求。通常情况下,开发者倾...

在手机上使用原生select的弊端是什么?在手机上使用原生select的弊端是什么?Apr 30, 2025 pm 03:12 PM

在手机上使用原生select的弊端是什么?在移动设备上开发应用时,选择合适的UI组件是非常重要的。许多开发者�...

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。