网站按钮操作图标的一种编程实践
来源:互联网 发布:游戏编程课程 编辑:程序博客网 时间:2024/04/28 06:06
最近在着手一些前端界面的工作,需要一个删除按钮的小图标。一时找不到的情况下,就想去网站上找个现成的。回忆了一下,百度云盘算是一个条目管理类的前端,里面应该有删除的功能图标。于是开始动手。
用firefox 打开百度云盘,按F12打开firebug插件。实际上看到的现象大大出乎我的预料:本来我以为每个功能图标都会是一个单独的小图片资源,直接找到删除图标对应的图片下载下来就OK了。显然事实上并非如此,如下图所示:
从右侧的CSS描述上可以看出。下载、打印、新增、删除、等等这些按钮,其"background"属性全部指向的是同一个图片链接,这部分是在一个通用的CSS配置中完成。指向的图片下载下来是这样:
然后每个按钮再根据自己的图标在大图中的位置,设置专属CSS配置中的“background-position”属性,例如要在按钮上显示删除图标,就需要将背景的坐标设置在"-156px -130px"的位置。
虽然跟想当然的做法不一样。不过稍一思索,不难发现这是一个非常好的编程实践,优点如下:
1、用户体验的考虑
很显然,这些图标的文件大小都是极小的,也就是几KB的大小,但是在一个页面上,可能有大量的类似图标。如果每个图标都单独存储一个图片文件,就会造成页面加载的时候,同时产生大量并发的图片请求。一来从客户端到服务器请求再到应答是个耗费时间的过程,而来据说浏览器在同一个域名下的并发请求数时是有限的(虽然我不知道这个限值是多少),这就可能造成多个小图标产生串行的请求,延长了整个页面的加载时间,用过户体验不好。相反,如果只加载一个图片文件,虽然单个文件大一些,实际上也不过是几K到几十K的大小(这要得益于图片压缩技术的发展,越大的图像,可供压缩的空间越多)。而且只进行一次请求就可以获得渲染所有按钮的素材,不存在并发请求多个资源的问题。速度明显会快很多。
2、变更和维护方面的考虑
如今网站前端的更新频率越来越快,作为吸引眼球的图标,变化就更加频繁。如果每个按钮使用各自的图片资源,在更新的饿时候,恐怕需要每个链接每个链接的去修改。要实现换肤的功能更是非常困难。而使用一张图片资源的方式就可以很轻松的进行变更。只需要修改一个链接就可以了。用程序控制这个链接的切换也很简单,由此实现换肤功能也是很轻易的事情。
相信这种做法对于大多数有经验的前端开发这来说,属于理所当然的做法。但是对于新晋者的我来说,还是全新的理念,需要思考一下才能领会。果然是只要有人从事的行业,没有一个简单的。
- 网站按钮操作图标的一种编程实践
- Java编程操作Excel的一种方法
- 修改图标的一种方法
- 关于网站的图标
- 添加工具栏的图标按钮
- 图标/图像按钮的实现
- Qt设置按钮的图标
- 怎么改变按钮的图标
- 小技巧之位操作的一种编程方式
- 图标按钮、位图按钮、CBitmapButton 类位图按钮的制作
- 一种可以代替图标的字符集Fontawesome
- 任务栏通知区域小图标的编程实践(DELPHI版)
- 把阿里旺旺的图标放到你自己的网站上,直接点击按钮就可以让顾客联系到你
- QT编程中如何给按钮等控件加载图标以及QT编程中使用中文的问题
- 如何设置网站的图标
- 网站地址栏的图标代码
- 我的图标设计网站
- 如何设置网站的图标
- 字节序相关--本地字节序和网络字节序等
- Spring3+hibernate3从tomcat7移植到jboss5.1
- 作业
- dump的control file简单分析
- ASP.NET购物车(源码下载)
- 网站按钮操作图标的一种编程实践
- libxml2的SAX和DOM模式解析文件的效率实测
- uva12232 - Exclusive-OR 加权并查集
- POJ 1014 / HDU 1059 Dividing (多重背包&剪枝&单调队列)
- 超快速视频格式转换器
- 魅族发布搭载Ubuntu操作系统智能手机的四重玄机
- 第二学期第一周项目1--【用枚举表示对称方式】
- div和span是什么意思
- ubuntu 下firefox浏览器 flash 插件的安装