最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

通过font-awesome案例来学习csssprite和svgsprite_html/css

来源:动视网 责编:小采 时间:2020-11-27 16:09:05
文档

通过font-awesome案例来学习csssprite和svgsprite_html/css

通过font-awesome案例来学习csssprite和svgsprite_html/css_WEB-ITnose:问题:font-awesome里面的小图标是怎么产生的? 1.打开浏览器调试工具,发现font-awesome user这个小图标,其css样式是. icon-user:before { content: \f007;}[class^=icon-]:before, [class*= icon-]:befo
推荐度:
导读通过font-awesome案例来学习csssprite和svgsprite_html/css_WEB-ITnose:问题:font-awesome里面的小图标是怎么产生的? 1.打开浏览器调试工具,发现font-awesome user这个小图标,其css样式是. icon-user:before { content: \f007;}[class^=icon-]:before, [class*= icon-]:befo


icon-user:before { content: "\f007";}[class^="icon-"]:before, [class*=" icon-"]:before { text-decoration: inherit; display: inline-block; speak: none;}

2.根据css文件路径,我们打开font-awesome.css发现它是引用了css3 @font-face这个属性。

@font-face { font-family: 'FontAwesome'; src: url('../font/fontawesome-webfont.eot?v=3.2.1'); src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg'); font-weight: normal; font-style: normal;}

3.我们顺着src:url()找到其图标svg

其路径为url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
我们用sublime打开路径下的svg图,由于SVG是 XML 格式,因此可以支持通常用 XML 工具和库进行的转换和生成。具体的教程链接:XML 问题: 使用 SVG 编程

4.发现content:'\f007'对应的就是上文的unicode=“oo7”。

写到这里大家也许有点清晰了font-awesome里的图标是怎么来的,不过还是有点稀里糊涂的,一定有很多问题会问:

svg图是什么? 怎么生成的?
把所有的图标都做成一张svg图片意义何在?
它和css sprite有什么区别呢?

哈哈,其实我和大家也一样,很好奇,于是查看了很多文档。原来早已经有大神研究过了。我会一一放上链接的,这里我先谈一下我的几点认识

css-sprite

1.先说什么是css sprite?
css sprite又叫css精灵或css雪碧图,是一种背景图片的拼合技术。使用css雪碧图,能够减少页面的请求数、这个很关键,因为每一个http请求都是长连接,我们都知道http开销是很大的,像一些购物网站,如果那么多图标都是标签引入的,那后果不堪设想。css-sprite的设计就是提升页面访问速度和网站请求资源开销的。
2.css-sprite实现的原理
css-sprite通过background-position这个css3新增属性来实现.我们可以一次性引入图片文件,通过设置background-size来切割小图标,然后通过css-position来给具体的小图标icon定位
3.如何制作css-sprite

1.慕课网上有远人老师的视频,教你如何做一个css-sprite。传送门:CSS Sprite雪碧图应用

2.windows开发者可以直接百度css-sprite制作工具,工具很多。
3.用sass编译的同学可以直接使用compass自动合并css雪碧图,教程链接地址
4.可以用ps和AI人工拼图

4.css-sprite缺点:拼图和后期维护的成本比较大。
我们可以通过

svg sprite

这里因为我了解的不是很多,而且我本人也是根据张鑫旭大神的技术博客学习的,所以直接贴地址:

未来必热:SVG Sprite技术介绍

总结:
symbol + use => SVG Sprite。而且在HTML层面,图标使用的代码成本,跟传统的CSS Sprite或者流行的font-face几乎无异,代码简洁,而且很好维护。所有的SVG图标都在一个SVG源上。retina良好,尺寸可任意拉伸,且颜色可控,真乃Web图标的未来之星。

文档

通过font-awesome案例来学习csssprite和svgsprite_html/css

通过font-awesome案例来学习csssprite和svgsprite_html/css_WEB-ITnose:问题:font-awesome里面的小图标是怎么产生的? 1.打开浏览器调试工具,发现font-awesome user这个小图标,其css样式是. icon-user:before { content: \f007;}[class^=icon-]:before, [class*= icon-]:befo
推荐度:
标签: html css svg
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top