旧的IE中不存在Fancybox覆盖
我已经制作了这个测试页面,用于在网站上使用fancybox,它可以在PC上的所有Mac浏览器,iOS和非IE浏览器上使用。 Windows 8上的最新IE也没问题。 但是在XP上的IE8,7和6不会在页面上显示透明覆盖或弹出框阴影,并且弹出窗口下的页面上的链接仍然是可点击的(我不想要)。 (注意,测试页面上的弹出图像不一定是正确的最终图像 – 没关系)。
可能我已经搞砸了某个地方的js(除了能够改变非常基本的配置,我在js中没有专业知识)。 我注意到fancybox演示页面在旧IE中运行良好。
我不喜欢旧IE中的盒子阴影,但我需要叠加的模态行为。
我会非常感激地收到任何错误指示。
嗯,这是典型的情况,修改原始fancybox文件不是一个好主意(除非你知道你在做什么。)最好创建自己的自定义脚本来修改默认设置。
在“修改过的”fancybox js文件中,您在第1707行添加了此文件:
css : { 'background' : 'rgba(200,200,200,0.35)' // changing here does change overlay colour }, // custom CSS properties
该更改会抑制要渲染的fancybox的叠加图像,如fancybox css文件的第151行所示:
.fancybox-overlay { background: url("fancybox_overlay.png") repeat scroll 0 0 transparent; /* other properties here */ }
IE8及更低版本不支持RGBa
因此不存在叠加。 不过,设置一个后备声明是一个好主意,因为这里建议避免这类问题。
下次,尝试使用您自己的自定义脚本覆盖默认设置,并保留原始文件。
编辑 :
如果你想设置自己的png 叠加图像背景(有自己的颜色和不透明度),那么只需添加到自定义脚本:
helpers: { overlay: { css: { 'background-image': 'url("path/my_own_overlay.png")' } } }
并留下原始的fancybox_overlay.png
文件。