如何使用 css 禁用图像的颜色?

2024-01-04

这是一个小问题。如果您访问 www.thumbtack.com/jobs,然后转到他们的赞助商。您可以看到,一开始您看不到赞助商名称中的颜色,但是当您将鼠标悬停在它们上方时,您可以看到颜色出现。有人可以告诉我该怎么做吗?我不太确定在谷歌上搜索什么(比如使用什么关键字)。我尝试使用检查元素,但无法弄清楚如何做到这一点。任何帮助将不胜感激。


在 CSS 中实现此目的最广泛兼容的方法是使用单独的图像 — 一组灰度图像和一组全彩图像,您可以通过 CSS 在它们之间进行切换:hover伪类(通常使用background-image属性),a la:

.sponsor {
    background-image: url('gray.png');
}

.sponsor:hover {
    background-image: url('color.png');
}

如果您愿意,可以使用单个图像来实现此目的,方法是将灰度和彩色版本放入单个图像中,然后将其像“窗口”一样移动到图像上(一种称为 CSS Sprites 的技术,如乔恩·P)。例如,如果徽标为 200x100,则创建一个顶部为灰色、底部为彩色的 200x200 图像,然后执行以下操作:

.sponsor {
    width: 200px;
    height: 100px;
    background-image: url('logos.png');
    background-position: 0px 0px;
}

.sponsor:hover {
    background-position: 0px -100px;
}

在基于图像的解决方案中,这个是更可取的,因为正如 Jon 指出的那样,它减少了页面加载时间,并且还可以防止第一次将鼠标悬停在图像上时出现延迟。此外,它还减少了一个 HTTP 请求,这对于高延迟连接(例如手机数据连接)会产生重要影响。

但是,如果您的目标是相对较新的浏览器,则可以使用 CSS 过滤器:

.sponsor {
    filter: grayscale(1.0);
}

.sponsor:hover {
    filter: none;
}

不幸的是,目前这仅适用于 Safari、Chrome、新版本的 Opera 和其他基于 WebKit 的浏览器。它目前也是一个前缀属性,因此您需要将其用作-webkit-filter.

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

如何使用 css 禁用图像的颜色? 的相关文章

随机推荐

  • $(位置).attr('href');不工作

    我不知道为什么 但我对这段代码有问题 横幅显示在每个页面上 尽管它指定了属性 location attr href 您可以帮助我吗 div div class bottom content a href http www cliente o
  • 可存储空数据声明

    我正在尝试为 C 库创建 Haskell 包装器 底层结构太复杂 无法表达为显式类型 而且除了在 C 函数之间传递之外 我实际上并不使用它们 所以我使用EmptyDataDecls让 GHC 帮我解决这个问题 我需要的是一个指向这些数据类型
  • 在 Matplotlib/Python 中更改极坐标图的轴选项

    我在更改 Matplotlib 中的轴标签时遇到问题 我想更改极坐标图中的径向轴选项 基本上 我正在计算圆柱体的变形 这只不过是半径偏离原始 完美圆形 圆柱体的程度 由于拉力和压力 一些变形值为负值 而另一些则为正值 我正在寻找一种方法以图
  • CSS:如何伪造 :hover 状态?

    在这里 我有几个 div 当鼠标悬停在它们上时 会有过渡效果 如左内角 我想首先假装悬停 例如 首先让左外角div处于 hover状态 而没有用户实际的hover动作 然后 当用户真正将鼠标悬停在其他 div 上时 假悬停状态就会取消 对于
  • 如何在 Pl/SQl 中使用批量收集和插入

    我想从一个表中获取大约 600 万行 并将它们全部插入到另一个表中 我该如何使用BULK COLLECT and FORALL declare define array type of the new table TYPE new tabl
  • xUnit 与 Jenkins:如何在构建控制台输出中显示颜色?

    我成功设置了 CasperJS 测试套件 并通过这种方式导出到 xUnit XML 文件 casperjs test googletesting js xunit log xml 我成功地通过 Jenkins 自动化了这些测试 这要归功于x
  • 如何在Jenkinsfile中使用jenkins版本号插件?

    在安装了 版本号插件 的 Jenkinsfile 中尝试此步骤 stage Build echo Building TAG BUILD DATE FORMATTED yyyyMMdd develop BUILDS TODAY sh dock
  • shell 中的浮点舍入

    printf 0 2f n 41 495 41 49 printf 0 2f n 41 485 41 49 printf 0 2f n 41 475 41 47 printf 0 2f n 41 465 41 47 printf 0 2f
  • MPMoviePlayerController 关闭后顶部状态栏消失

    我的 iPhone 应用程序遇到一个有趣的小问题 我有一个带有表格的视图 每个单元格在单击时全屏播放视频 然后当您按完成时 视频停止并返回表格视图 唯一的问题是 当您在视频加载的前 2 或 3 秒内按 完成 时 当视图返回到表格视图时 屏幕
  • Python 中的子进程 Popen 和 PIPE

    以下代码打印一个空行作为输出 该输出为 false 问题不在于权限 因为我使用 pdf 文件的 777 权限测试了该命令 如何修复该命令以提供正确的输出 import subprocess from subprocess import PI
  • 如何为所有子域设置 Git 配置选项?

    与您可以设置的方式类似特定 URL 的 Git 配置选项 https stackoverflow com a 23807432 1233435 like git config http https code example com sslV
  • 如何禁用 Android Lollipop 波纹的 alpha 值?

    我有一个使用自定义颜色的波纹 然而 颜色永远不会完全不透明 根据来自的回答Ripple 的颜色应该是什么 colorPrimary 或 colorAccent 材料设计 https stackoverflow com questions 2
  • 使用 @Query 在 intellij 中进行语言注入

    使用intellij idea 2016 3 4 是否可以根据参数注入语言 考虑一下这个 Query nativeQuery true value select from Foo List
  • 无法添加文件 iOS 应用程序包

    我添加了一个带有扩展名的空文件 js在资源路径中 但未添加到应用程序的捆绑包中 我确信我已添加到应用程序目标 但有时它包含在捆绑包中 有时它不包含在捆绑包中 我通过以下代码获取文件的内容 NSString filePath NSBundle
  • 测试不同客户端和服务器版本的最佳 Git 策略

    我希望能够为 Java 客户端 服务器运行集成测试 使用嵌入式 jetty 此外 我希望能够在集成测试期间混合搭配不同的服务器和客户端源代码版本 我想知道实现此目的的最佳 git 或 maven 版本策略是什么 客户端和服务器使用相同的 g
  • 如何使用 C# 安全地将数据保存到现有文件?

    如何安全地将数据保存到 C 中已存在的文件中 我有一些数据被序列化到文件中 我很确定直接安全到文件不是一个好主意 因为如果出现任何问题 文件将被损坏 并且以前的版本将丢失 这就是我到目前为止一直在做的事情 string tempFile P
  • webpacker:安装后应用程序中的页面开始加载很长时间

    我正在将 webpacker 安装到我的 Rails 应用程序中 安装后 我注意到应用程序中的页面开始加载很长时间 会发生什么情况 从日志 Completed 200 OK in 90075ms Views 90072 2ms Active
  • 为什么服务器和小型/大型机以及混合核心需要不同的 CPU 架构? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在从数据库获取设置的函数上,我遇到了错误[重复]

    这个问题在这里已经有答案了 我正忙于从数据库获取设置的函数 突然 我遇到了这个错误 Fatal error Call to a member function bind param on boolean in C xampp2 htdocs
  • 如何使用 css 禁用图像的颜色?

    这是一个小问题 如果您访问 www thumbtack com jobs 然后转到他们的赞助商 您可以看到 一开始您看不到赞助商名称中的颜色 但是当您将鼠标悬停在它们上方时 您可以看到颜色出现 有人可以告诉我该怎么做吗 我不太确定在谷歌上搜