简单的:js判断鼠标在图片上时,产生一个div覆盖在图片上面,这个div给格子背景图
(兼容性好,但是格子尺寸固定,一张网页上多个不同尺寸图片上用,格子全一样大)
复杂的:js生成个html5的canvas画布,把图片放上去,再用js画些线条在上面
(无法顾及不支持html5的浏览器,但是格子尺寸你可以根据图片尺寸比例动态生成)
这个一般是用CSS来显示特定内容的。譬如有张图片icon.png,里面有很多内容,便可以在CSS中这么用。
.sa {width:20pxheight:20pxoverflow:hiddenbackground:url(icon.png) no-repeat -20px -30px}
注解:
宽度和高度是控制显示范围的
overflow:hidden是确保不会有多余显示
background:url(icon.png)是使用图片作为背景显示,并且也只能作为背景显示才能达到这种做法的目的
no-repeat是不会重复,这个不是必须的,不过有会规范一些
-20px -30px是图片的定位,显示时会将图片按这个坐标来定位
上面只是针对固定大小的显示内容来定义的,如果大小不固定,在background属性中有可能需要更改设置。不过重点是这种方式是这么使用的。
如果大小不固定,也可以这样定义,让背景自适应:
.sa {width:autoheight:20pxoverflow:hiddenbackground:url(icon.png) no-repeat right bottom}
对于图片2(首页标签)的内容,也是这么使用的:
.a {width:100pxheight:25pxoverflow:hiddenbackground:url(2.png) no-repeat left center}
.a:hover {background-position:right center}
这样一来,当鼠标移到元素时,背景定位发生变化,显示的内容便由左边的变成右边的了。
不过你应该对CSS这方面还不是很了解,目前可能还没有很便捷的方式对这些CSS进行快速定义,所以也只能告诉你是这么一回事,但未必能帮得上你。