html - 反转超过 70vh 的导航栏颜色 - html/css

标签 html css nav css-filters

我想在导航栏超过 70vh 时反转它的颜色。

我在想我需要一个@media with invert 添加到 nav container & logo 说类似 @media at 70vh add filter:invert(1);虽然不确定我怎么说,它需要同时处理图像和文本,

如果有人有任何想法就太好了!

最佳答案

你不能只使用 css 来做到这一点,你必须使用一些 JavaScript,这里有一个使用 jQuery 的例子。

$(window).scroll(function() {

  var scroll = $(window).scrollTop();
  var winVH = $(window).height();

  if (scroll >= winVH) {
    $(".yourNavClass").addClass("invertColor");
  } else {
    $(".yourNavClass").removeClass("invertColor");
  }
});

该代码的作用是在滚动 >= 到 100vh 时向您的导航添加一个类,因此您可以将 invertColor 类设置为 filter:invert(1) 并且这应该可以解决问题,这里有一些文档关于 scrollTop 函数 https://api.jquery.com/scrollTop/

关于html - 反转超过 70vh 的导航栏颜色 - html/css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53218003/

相关文章:

javascript - Jquery 更新点击计数

html - Bootstrap : Change Color of Panel Heading onClick

html - 导航栏下拉

css - 基线上的页脚

html - 如何正确地将无序列表嵌入有序列表 (HTML)

html - 响应式导航

javascript - 如何使用 Javascript/Ajax 但不使用 jQuery 获取远程 url 的状态代码?

javascript - 执行事件时没有任何反应

javascript - HTML5 Canvas 中的文本框值

html - 从数据库检索的对象数组中获取结果并返回到 ng-template