【问题标题】:dim the background image in reveal.js使reveal.js中的背景图像变暗
【发布时间】:2015-08-17 16:44:51
【问题描述】:

我正在使用reveal.js:我想显示一个全屏图像作为背景,一旦我移动到另一张幻灯片,我想模糊或调暗它。 看着Changing the background-image style in Reveal.js,我在我的css中试过这个:

.html.blur .backgrounds {
  -webkit-filter: blur(5px);
 -moz-filter: blur(10px);
 -o-filter: blur(5px);
 -ms-filter: blur(5px);
 filter: blur(5px);
}

然后在我的 Markdown 文档中我用 html 注释

.slide: data-background="figs/background.svg" data-background-size="contain" data-state="blur"

它创建了一个<section> 标签,里面有data-state="blur"。然而,背景并没有变得模糊——我错过了什么?

【问题讨论】:

  • 可能取决于浏览器
  • 你能做个小提琴代码吗
  • 我从上面链接的 SO 问题中借用了小提琴,并对其进行了修改:jsfiddle.net/k85qny9k/2 -- 第二张幻灯片应该是模糊的
  • 抱歉,打错了——这里是固定版本:jsfiddle.net/k85qny9k/4——这似乎有效,但在我的实际幻灯片中不起作用...嗯...

标签: javascript html css reveal.js


【解决方案1】:

只是一个错字:没有“。”在html前面...

这会起作用,除了模糊,做一些调光和饱和度的改变,这将使前景文本更容易阅读:

html.dim .backgrounds {
   -webkit-filter: blur(4px) saturate(.5) brightness(.8);
   -moz-filter: blur(4px) saturate(.7) brightness(.9);
   -o-filter: blur(4px) saturate(.7) brightness(.9);
   -ms-filter: blur(4px) saturate(.7) brightness(.9);
   filter: blur(4px) saturate(.7) brightness(.9);
}

如果你想让它看起来更时髦,你可以添加一个动画:

@-webkit-keyframes blur-animation {
  0% {
    -webkit-filter: blur(0px) ;
    -moz-filter: blur(0px);
    -o-filter: blur(0px);
    -ms-filter: blur(0px);
    filter: blur(0px);

  }
  100% {
    -webkit-filter: blur(4px) saturate(.5) brightness(.8);
    -moz-filter: blur(5px) saturate(.7) brightness(.9);
    -o-filter: blur(5px) saturate(.7) brightness(.9);
    -ms-filter: blur(5px)saturate(.7) brightness(.9);
    filter: blur(5px) saturate(.7) brightness(.9);

  }
}

html.background-blur-animation .backgrounds {
   -webkit-animation-name: blur-animation;
   -webkit-animation-duration: 1s;
   -webkit-animation-iteration-count: 1;
   -webkit-animation-direction: alternate;
   -webkit-animation-timing-function: ease-out;
   -webkit-animation-fill-mode: forwards;
   -webkit-animation-delay: 0s;
 }

【讨论】:

    【解决方案2】:

    请检查源代码中的这一行

     html.blur.backgrounds {     
                       //no (. sign)is required in front of .html or copy the above line and paste it.
    

    【讨论】:

    • 试试看,如果失败请回复我
    • 嗨 vijay,感谢您发布答案——问题是我有一个“。”在“html”前面...是的,这行得通,谢谢!
    猜你喜欢
    • 2017-03-07
    • 2019-06-11
    • 2017-11-10
    • 2014-12-24
    • 2015-10-16
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多