二
26
按钮鼠标事件背景图片加载方式

我常常处理鼠标事件背景图时为了图便捷,直接用PS切片,复制一个再用PS调整一下颜色作为鼠标经过时显示的图片,直接采用两张图片,一张作为当前一张作为经过时显示。这样做方便以及节省一点点带宽,但是弊端就是加载页面时并没有载入鼠标经过的图片(也就这里节省了),而鼠标经过时才载入图片。这样可想而知的结果就是鼠标经过时有个短暂的图片消失的情况,当浏览器缓存图片过后此情况就不会发生。
这是使用鼠标伪元素切换背景CSS -两张图片
#bt1{ background:url(bt1.jpg) no-repeat center; width:88px; height:31px;}
#bt1:link, #bt1:visited {background:url(bt1.jpg) no-repeat center; width:88px; height:31px;}
#bt1:hover {background:url(bt2.jpg) no-repeat center;width:88px; height:31px;}
页面载入时加载第一张图片(bt1.jpg),当鼠标经过按钮时加载第二张图片(bt2.jpg)
这是使用鼠标伪元素切换背景CSS -一张图片
#bt2{ background:url(bt12.jpg) no-repeat 0 0; width:88px; height:31px;}
#bt2:link, #bt2:visited {background:url(bt12.jpg) no-repeat 0 0; width:88px; height:31px;}
#bt2:hover {background:url(bt12.jpg) no-repeat 0 100%;width:88px; height:31px;}
通过限制div长宽尺寸,利用定义背景图位置达到切换效果
为了改善此问题我们可以把两张图片合二为一变成一张图片,这样就能在载入页面时就载入图片,缓存图片,从而鼠标经过时即时的切换图片位置,达到鼠标经过变 化效果。
普及一下基础常识,老鸟就无需浪费时间啦







是的, 就是这么回事儿, 有些网站偏不这么用, 即使网速还可以, 鼠标放上去时载入 Hover 图片那一瞬间的延时也让人不舒服, 如果一排按扭都是不同图片的, 那鼠标在这些链接上徘徊的第一圈真是让人恶心透了.
估计因为做站的人有缓存撑着, 这种问题往往被他们无视了.
确实,做网站在测试过程已经存在缓存或不负责的省掉了,包括我部分网站都没有使用上述方法,嘿嘿
这方法是对的,博主整理出来辛苦了。
嗯,现在很多大网站都使用这个方式
嗯,学习了,不过~~