拋棄Javascript預載吧,牛人純CSS圖片預加載

來源: techweb  發布時間: 2009-10-30 11:47  閱讀: 5143 次  推薦: 0   原文鏈接   [收藏]  

  有很多種方法來實現圖片的預加載,通常大部分使用Javascript讓事情滾動。不要再受Javascript預載的束縛了吧,用CSS你就可以毫不麻煩的預載你的圖片。

  為什么使用預載你為什么會考慮使用預載呢?你是否曾有個網站,在那個網站你要滾動你的導航然后有個延遲直到圖片被加載完……嘿嘿。預載將在這方面幫助你。它將在頁面加載的時候加載那些圖片并將其存儲在瀏覽器的緩存里面。這樣當用戶滾動導航的時候,很漂亮而且流暢,沒有延遲。) 

  CSS代碼這個概念就是寫一個CSS樣式設置一批背景圖片,然后將其隱藏,這樣你就看不到那些圖片了。那些背景圖片就是你想預載的圖片。

  這是一個例子:

#preloader {
/* Images you want to preload*/3 
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上的沙漏之類的東東。采用一個動畫吧,這樣用戶就會知道事情正在進行。

  結論當預載有意義的時候做你最好的吧,你的用戶將以此喜歡上你。事實上他們可能并沒有注意到,但是這是一件好事情,如果他們注意到你的網站正在加載,那可能真的是太慢了。

  查看Demo4

  PS:我來解釋一下這個demo吧。可能原作者沒有考慮太多,只是想演示一下預加載的效果,所以這個demo頁面做的有些簡單:他只是將預載的圖片用于a:hover的背景了,這樣在鼠標經過的時候,就可以無閃動的現實那張圖片。嗯,也就是文中的第二種用法……

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()