如何更改fancyBox v2中的叠加颜色

Mar*_*lie 6 css jquery fancybox

在fancyBox版本1中有overlayColor参数,但在版本2中它似乎不再起作用.

编辑CSS不起作用,因为它被插件中的JavaScript覆盖.

有任何想法吗?

JFK*_*JFK 15

Fancybox v2.x API选项是新的,与以前的版本不兼容,因此overlayColor已被helpers=> overlay=> css=> background-color选项替换.

不必像@ Sparky672所建议的那样弄乱原始(js或css)文件(这是一个不好的做法).您可以在自定义脚本中设置该选项...例如,使用此html:

<a class="fancybox" href="images/01.jpg">open fancybox with a red overlay</a>
Run Code Online (Sandbox Code Playgroud)

使用自定义脚本,如:

$(".fancybox").fancybox({
  helpers : { 
   overlay: {
    opacity: 0.8, // or the opacity you want 
    css: {'background-color': '#ff0000'} // or your preferred hex color value
   } // overlay 
  } // helpers
}); // fancybox
Run Code Online (Sandbox Code Playgroud)

  • @JFK,它没有设置`opacity`. (2认同)

Sim*_*ver 5

Firefox(和IE 9)不喜欢设置叠加不透明度.Chrome很好用,但在Firefox + IE9中,不透明度应用于弹出窗口本身.它们似乎对叠加层和内容进行了不同的分层.

Fancybox 2.1.4中测试过

 helpers:
 {
       overlay:
       {
              css: { 'background': 'rgba(0, 0, 255, 0.5)' }
       }
 }
Run Code Online (Sandbox Code Playgroud)

如果您设置RGBA值,那么它将起作用.您必须使用background而不是background-color覆盖默认的CSS.

请注意,插件本身使用半透明PNG作为叠加层.这很好,但有两个缩减.首先它必须加载,除非你预先加载它,否则在你第一次打开弹出窗口时,淡入效果可能会有些结果.大多数浏览器在您提交表单后会抑制请求 - 因此,除非您预先加载PNG,否则根本就没有叠加层.