用CSS实现图片的预加载

2016-02-19 15:15 29 1 收藏

有了下面这个用CSS实现图片的预加载教程,不懂用CSS实现图片的预加载的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - Web开发 】

有很多种方法来实现图片的预加载,通常大部分使用Javascript让事情滚动。不要再受Javascript预载的束缚了吧,用CSS你就可以毫不麻烦的预载你的图片。

为什么使用预载

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

你为什么会考虑使用预载呢?你是否曾有个网站,在那个网站你要滚动你的导航然后有个延迟直到图片被加载完……嘿嘿。预载将在这方面帮助你。它将在页面加载的时候加载那些图片并将其存储在浏览器的缓存里面。这样当用户滚动导航的时候,很漂亮而且流畅,没有延迟。

CSS代码

这个概念就是写一个CSS样式设置一批背景图片,然后将其隐藏,这样你就看不到那些图片了。那些背景图片就是你想预载的图片。

这是一个例子:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

#preloader {
/* Images you want to preload*/
background-image: url(image1.jpg);
background-image: url(image2.jpg);
background-image: url(image3.jpg);
width: 0px;
height: 0px;
display: inline;
}这只是一种隐藏你的图片的方法,所以它们不会被显示。我也见到有人使用非常大的background-position值将图片推出去。或者给一个负的margin值。有很多中方法隐藏你要预载的图片,选择最适合你的吧。

另一种情况
有巨大的图片需要下载的情况并不会经常发生,如果你采用通常的做法,提供某种图片正在加载的表示。这里是一些CSS,可以给用户一个提示:图片正在加载。

 img { background: url(loadingHourGlass.gif) no-repeat 50% 50%; }gif图片可以是动画,类似于mac上的沙滩球或者PC上的沙漏之类的东东。采用一个动画吧,这样用户就会知道事情正在进行。

结论
当预载有意义的时候做你最好的吧,你的用户将以此喜欢上你。事实上他们可能并没有注意到,但是这是一件好事情,如果他们注意到你的网站正在加载,那可能真的是太慢了。

查看Demo

PS:我来解释一下这个demo吧。可能

来源:https://www.tulaoshi.com/n/20160219/1609239.html

延伸阅读
标签: Web开发
在前面一篇文章中,我们将一张上下渐变的的图片作为标题的背景,并将它应用了圆角效果。是不是这种圆角框只能用于比较单调的图片呢?我们还能将一些颜色比较丰富的图片也进行透明圆角化吗? 答案是肯定的,下面看看它的终极功夫。 还是先看最终效果图吧 : 图一 看到了吧,这就是用纯CSS实现的圆角化图片,为了能看到透明化的效果,...
标签: Web开发
代码文件: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Threading; namespace AjaxTest {   &nb...
标签: Web开发
随机载入CSS样式的JS效果实际上很好实现,本文的代码如下,具体思路是用一个默认的CSS样式:default.css。另外再用三个其他名称的CSS:skin1.css,skin2.css,skin3.css。当然你可以用更多的样式表,随后在载入时进行随机替换,因为最先载入的default.css样式是直接写在页面上,而JS随机载入的后面CSS文件会覆盖之前的CSS,只要CSS中的元素...
标签: Web开发
网页制作,用CSS实现图片垂直居中方法 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"style type="text/css"!--body {margin:0;padding:0}div {width:500px;height:500px;line-height:500px;border:1px solid #ccc;overflow:h...
标签: Web开发
减少了页面加载的时间了,也减轻了服务器的压力,看了一下javascript源码,里面写的了lazyload,我就百度了一下,找到了一个jquery的实现这种效果的插件:jquery.lazyload,一个很不错的插件。 比如你打开一个比较大或者长的网页,那么Lazy load能够实现先加载您所看到区域的图片,等你滚动到哪里,就加载那里的图片。 如果你是图片网站,而且...

经验教程

875

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部