html - 在第一个加载页面加载悬停图片

标签 html css

我有这个代码的div

风格

#input{background:url(../image/main.png)}
#input:hover {background:url(../image/hover.png)}

html

<div id="input">input div </div>
<div id="input">input div 2</div>
<div id="input">input div 3</div>
<div id="input">input div 4</div>

当页面加载 main.png 加载并显示时,但当鼠标放在 div 上时,第一个 div 黑色,然后 2 或 3 秒 hover.png 显示。我的背景图片尺寸不大,但也许主机对于第一次加载两张图片和悬停图片显示速度来说非常弱?

最佳答案

您可以为此使用 Sprite ,然后使用 background-position 设置背景,这样所有内容都会在第一时间加载。

关于 sprite 的最好的事情是它实际上可以加快加载时间,因为每个图像都需要向服务器发出单独的请求,但是如果您只为网站的大部分内容请求一个文件,则加载时间可能会大大增加。

这是一个很好的例子:

enter image description here

代码会是这样的:

.mydiv:hover{
   background-position:-30px 0px;
}

Live example of how sprites works

要进一步了解 background-positions 的实际工作原理,请查看:http://www.w3schools.com/cssref/pr_background-position.asp

关于html - 在第一个加载页面加载悬停图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13475167/

相关文章:

javascript - IE 和 html5 视频停止工作

jquery - 使用 jQuery 更改 SelectMenu 中特定选项的样式

javascript - adaptive.js 和 LESS CSS 兼容性问题

javascript - 隐含的评估是邪恶的。传递一个函数而不是字符串。缺少分号

php - 将类添加到 wp_list_pages 中的链接

html - 如何使表格单元格的宽度适应其内容?

php - Websocket 端口问题,因为已经在使用?

jquery - 如何使用 Slick carousel 垂直对齐自定义箭头?

javascript - 如何在 AngularJS 的 GridList(动态磁贴)中使用换行符

javascript - 将div结构转换为单行 ListView