按钮悬停效果

Posted

技术标签:

【中文标题】按钮悬停效果【英文标题】:Button Hover Effect 【发布时间】:2012-11-05 19:39:17 【问题描述】:

我对 CSS 和网络编程很陌生。我想要做的是为按钮添加悬停效果。我通过使用 2 张图片来做到这一点。

有一个名为下载的按钮,我在悬停代码中添加:

.button:hover
    background-image:url(images/button2.png);


问题是按钮加载需要时间,即:悬停时显示按钮会有延迟。我该如何解决这个问题?

编辑:我尝试使用预加载,但也有一种延迟

div#preloadedImages

    width: 0px;
    height: 0px;
        background-image: url(images/button2.png);


【问题讨论】:

只尝试背景:url(images/button2.png) 嘿Asf,我为你创建了一个工作演示,链接在我的回答中:) 【参考方案1】:

您应该使用图像精灵来消除延迟。 sprite 是一个包含多个图像的较大文件。您的按钮将其背景设置为 sprite.png 文件。然后,您可以更改 background-position 属性来移动精灵的位置。

另一方面,为什么要使用图像作为按钮?大多数按钮都可以在纯 CSS 中完成,并为旧版浏览器提供一些回退。

【讨论】:

【参考方案2】:

从两个图像中创建一个图像(称为精灵)

这是一个带有动画的工作示例,向您展示它是如何工作的。

点击这里>>>FIDDLE

然后将背景位置设置为以显示背景图像的正常状态

 .button 
    width: 150px;
    height: 50px;
    background-image: url('image-sprite.jpg');
    background-position:  left top;

然后在你的悬停 css 上,只需移动背景图像以显示它的下部

.button:hover 
    background-position: left bottom;
 

【讨论】:

【参考方案3】:

保持您当前的 css 和其他内容不变,并在页面的任何位置添加一个 <img> 组件,并将其隐藏以最初加载图像。

<img src="images/button2.png" style="display:none;"/>

【讨论】:

以上是关于按钮悬停效果的主要内容,如果未能解决你的问题,请参考以下文章

jQuery hover - 按钮保持悬停效果

带有按钮的类似 Netflix 的悬停效果 [关闭]

从网站重新创建按钮悬停效果

如何防止触摸设备上按钮的粘滞悬停效果

如何恢复 Bootstrap 3 按钮的悬停效果?

删除按钮上的引导导航栏悬停效果