图标字体与图像

时间:2012-10-01 14:11:21

标签: css icons icon-fonts

我的经理告诉我不要在我们的网站上使用图标字体,因为它是另一个http请求加上额外的下载KB。另外因为我必须使用content before作为字体(我无法更改html),所以他更喜欢背景图片,因此它适用于IE7。

就我个人而言,我喜欢这些小东西,非常好,清脆,可以调整大小!

如果我们只在网站上使用几个图标但是如果我会使用,比如在网站上使用5个图标,我就明白了 - 你们觉得怎么样?是否值得使用图标字体,或者他认为不是吗?

我只是一个新的和令人兴奋的吸盘,而今年它是视网膜显示器。

6 个答案:

答案 0 :(得分:13)

图标字体和高密度屏幕

随着更高分辨率/密度的显示变得可用,使用图标字体将越来越相关。

16×16px图标在高密度显示屏上看起来很糟糕(> 300ppi)。由于自动缩放,它可能显示非常小或不清晰。另一方面,无论屏幕密度如何,1em字体图标都能正确,清晰地呈现。

它当然归结为你的

  • 应用程序用户和
  • 您的要求(IE7似乎是主要的破坏者)

现在精灵是要走的路。

缺点?

图标字体也有不同的问题。所有图标都是单色。 目前还没有具有多色功能的字体标准。它很可能不会。至少不是字体。有可能使用SVG字体进行多色,这不是字体标准/格式本身,但可以是字体容器,并在浏览器中用作字体传送机制。将多色图标作为SVG字体可以获得色彩鲜艳的可缩放图标(感谢@Joey)。

矢量化图标图像更适合全彩色可调整图标。

请求和字体图标

你老板关于额外请求的论点完全是假的。您的图标是文件的一部分还是(在最好的情况下)是精灵图像的一部分并不重要。

两者都产生HTTP请求以获取资源。文件大小在很大程度上取决于复杂性和格式,但精灵图像可能会更小。但是拥有几公斤更大的字体文件并没有太大的区别。之后他们都会在客户端上缓存。

答案 1 :(得分:7)

我个人使用Font Awesome作为我的主要字体资源,在我的情况下,我从CDN中加载它使用它已经获取它的其他页面,这是由浏览器缓存的。

如果文件大小是一个问题,我可以向您推荐这个令人难以置信的令人敬畏的工具

http://fontello.com/

它允许您将多个字体合并为一个文件,并且只包含您实际使用的图标。

http://www.icnfnt.com/对于fontawesome也是如此,但我有点像fontello,因为它允许使用更多的字体。

在我看来,

图标字体是诚实的方式......

编辑我最近也在使用这个应用程序:http://icomoon.io/

答案 2 :(得分:3)

使用字体时,不同平台上的不同浏览器会产生不同的结果。 PNG文件将提供稳定和独立的结果。

答案 3 :(得分:1)

他是对的。在这种情况下我会使用css sprites。如果你必须支持ie7(我很抱歉),你真的没有任何选择。自己探索这些东西 - 当然,你永远不会知道什么会派上用场或什么时候。

答案 4 :(得分:0)

我会为你的问题推荐2个解决方案这些是我会用来为最好的客户支持,比如他们想要改变文字,大小或其他东西

使用Fontsquirrel创建一个webfont并通过你的css将其嵌入你的网站并将其添加到你的ftp目录中,如果它没有变得漂亮然后使用google web fonts

如果不是这样,我应该去找你的老板说的图像解决方案..

所有这些还取决于您必须解决问题的时间等等

顺便说一句,如果你无法访问html,我认为你可以通过大多数后端访问你可以访问的css,如果你不能去寻找图像!

最后但并非最不重要的是,如果您决定使用图像解决方案,请制作一个直接通过背景位置的精灵。这样,您只需为所有小图标加载1张图片。

答案 5 :(得分:0)

我使用icomoon实现了一个字体图标库,它适用于所有浏览器,包括ie7。对于小套图标,这是一种合适的做法,字体的比例正确,可以更改为您需要的任何颜色,您不必担心PNG / GIF透明背景颜色匹配。

然而......如果您的图书馆变得更大(我的图书馆现在大约有40个图标),那么它的维护就越来越难了。如果设计师停止在项目上工作,或者您需要更改图标,则更新字体是一个费力的过程。然后一切都需要重新测试。使用CSS动态图标也很困难(对于ie7)。

因此,考虑到维护的难度,我正在考虑切换回一系列精灵(不同颜色)。原因是:

任何设计师都可以轻松地向该组添加新图标。 CSS不需要重新测试或更改。 您不必为IE浏览器使用javascript变通方法。 你根本不需要javascript。

对于视网膜显示器,只需创建两倍大小的精灵版本。您可能需要为视网膜设置不同版本的CSS,因为您网站上的所有其他图像都会有相同的密度问题。