当用另一个图像替换它时,防止悬停时图像闪烁(CSS)

2024-04-27

当我在页面加载后第一次将光标悬停在徽标上时,它开始快速闪烁大约一秒钟。 我考虑过使用精灵,但我不想将徽标设置为背景图像 - 我已经有了一个。这是我的 CSS 代码:

<!DOCTYPE HTML>
<head>
<style>
html {
    background-image:url('backgroundimage.jpg');
    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;
    -webkit-filter: brightness(0.6);
    -moz-filter: brightness(0.6);
    -o-filter:  brightness(0.6);
    -ms-filter:  brightness(0.6);

}

#logo {
    position: fixed;
    top: 50%;
    left: 50%;
    margin-top: -250px;
    margin-left: -250px;

}

#logo:hover 
{
    content: url('logobeforehover.png');
}
</style>
</head>
<body>
    <div id="logo">
        <img src="logoafterhover.png"/>
    </div>
</body>
</html>

这里将always会有些闪烁,因为用户的浏览器必须从服务器加载图像。 TCP 和 HTTP 有一定的开销,并且fastest您可以合理地预期(即使对于非常小的图像)大约为 100-200 毫秒。这通常是显而易见的。事实上,时间往往更长。

可能的解决方案:

  • 将图像放置在页面中的某个位置,但不显示它。环境display: none经常被使用,但是这似乎不再可靠 http://blog.futtta.be/2012/12/10/do-background-images-lazy-load-with-displaynone/;或者,您可以添加带有width & height of 1px and z-index of -1。恕我直言,这很丑陋。请注意,这也会增加初始页面加载。
  • 不要使用 CSS,而是使用 Javascript 来切换图像。这样您可以预加载图像,并在加载和准备好时更改它,例如:

    var img = new Image();
    img.onload = function() {
        $('#logo').attr('src', $(this).attr('src'));
    };
    img.src = 'example.com/image'
    
  • 使用 CSS 精灵,您已经提到过您不想这样做,但为了完整起见,我将列出它。恕我直言,这是最好的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当用另一个图像替换它时,防止悬停时图像闪烁(CSS) 的相关文章

随机推荐

  • BigInteger 乘以 Double

    我的物理老师给全班布置了一项艰巨的任务 我正在尝试创建一个程序来为我计算一些事情 在某个时刻 我需要将分子数量乘以百分比 Ulong 不能容纳大到 6022 10 19 的数字 所以我必须使用 net 4 0 中的 BigInteger 但
  • glypicon 上的单击事件

    如何将 ng click 事件添加到文本框中的引导字形图标 该事件不会被解雇 h3 How to clear the model on remove icon click h3 div class container div class f
  • 跨源资源共享中 this.withCredentials 属性的问题

    我们正在实现一个基于 AngularJS 的应用程序 该应用程序使用托管在不同域中的 REST Web 服务 以下脚本用于 CORS 它在 Chrome 和 FireFox 上完美运行 在 IE9 和 Safari 中进行身份验证时存在问题
  • 了解 Collection.isEmpty() 和 Collection.size() == 0 之间的区别? [复制]

    这个问题在这里已经有答案了 我读过很多关于两者之间差异的文章isEmpty and size gt 0 用于检查collection是否为空并发现isEmpty 表现超过size 但我无法轻易理解为什么性能isEmpty 即使 isEmpt
  • 主函数抱怨返回非 IO monad

    import Debug Trace main do trace Main function parses and returns 0 return 这会引发错误 app hs 3 1 Couldn t match expected typ
  • 如何在 Docker 容器中运行 Nginx 而不停止?

    我在 Docker 容器上安装了 Nginx 并尝试像这样运行它 docker run i t p 80 80 mydockerimage usr sbin nginx 问题是 Nginx 的工作方式是 初始进程立即生成一个 Nginx 主
  • 使用 wp_read_audio_metadata()

    我正在尝试从 WordPress 中的 mp3 文件获取一些元数据 特别是长度变量 这是我的一些代码 这里没有显示 但我已经包含了 wp admin includes media php 文件 当我查看我的页面时http beta open
  • 如何从函数调用事件处理程序?

    我有一个类 我从中调用一个函数ABC string st 带字符串参数 该函数定义在一个Form class Form1 我有一个列表视图 想要从函数中自动调用列表视图 mouse click 事件 我该如何做到这一点 您不能调用另一个类的
  • python lxml 我如何在项目名称中使用标签?

    我需要使用项目的特殊名称构建 xml 文件 这是我当前的代码 from lxml import etree import lxml from lxml builder import E wp E wp tmp wp title print
  • Array.filter 与 $filter('filter')

    我应该在 Angular 应用程序中使用哪一个 为什么 array filter o gt o name myName or filter filter array name myName true 关键的区别是快捷方式或语法糖由提供 fi
  • 如何将 VBScript 转换为可执行 (EXE) 文件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我四处寻找转换 VBScript 的信息 vbs 到可执行文件 并意识到大多数可用的工具实际上是将脚本包装在可执行文件中 尝试了一些工
  • 包含多个双引号的 CSV 拆分正则表达式

    我有一个包含文本的 CSV 列数据 每行用双引号分隔 一行中的示例文本类似于此 notice 新行和每行之前的空格是故意的 Lorem ipsum dolor sit amet consectetur adipisicing elit se
  • 我可以在 python 中获得没有 echo 的控制台输入吗?

    我可以在 python 中获取没有 echo 的控制台输入吗 Use getpass http docs python org library getpass html gt gt gt from getpass import getpas
  • Primefaces 中的过滤数据表仅有效一次

    我正在尝试使用 Primefaces 过滤数据表 就像这个例子 http www primefaces org showcase ui datatableFiltering jsf 在网络浏览器中 我输入要过滤的文本 它会工作一次 但是当我
  • Python Asyncio 子进程永远不会完成

    我有一个简单的 python 程序 我用它来测试带有子进程的 asyncio import sys time for x in range 100 print processing s 100 x sys stdout flush prin
  • cmd的字符集

    C Users Kolink gt php r echo C Users Kolink gt echo 正如你所看到的 一个程序输出一个 结果是 但使用echo命令给出所需的字符 并且 我可以配置 PHP 也许是脚本开头的某个命令 来输出正
  • 需要新版本后 Firebase 参考为空

    The new 文档 https firebase google com docs database server start authenticate with admin privileges提供了一种初始化 firebase 的简单方
  • 什么是受污染的对象,我们什么时候应该清除它们?

    什么时候需要对 Ruby 对象进行污染 什么时候应该消除它们的污染 受污染对象的概念如何使 Ruby 脚本在安全模式下运行 任何人都可以详细说明这一点 通过一些代码片段使概念清晰吗 什么是污染 根据定义 用户输入被污染了 例如 string
  • jQuery UI、可拖动、可放置、自动滚动

    我有一组可放置的 li 元素 它接受可拖动的图标 项目列表位于可滚动的 div 元素中 我在这里整理了一个简单的例子 http www nerdydork com demos dragscroll http www nerdydork co
  • 当用另一个图像替换它时,防止悬停时图像闪烁(CSS)

    当我在页面加载后第一次将光标悬停在徽标上时 它开始快速闪烁大约一秒钟 我考虑过使用精灵 但我不想将徽标设置为背景图像 我已经有了一个 这是我的 CSS 代码