javascript - 投影阻止 Internet Explorer 中的链接

标签 javascript css internet-explorer

我正在设计的网站在正文后面有一个固定的菜单。单击菜单图标时,某些 jquery 会将主体向左移动。我在 body 上放了一个阴影,使固定菜单看起来像是位于下方。在 chrome、firefox 和 safari 中,一切都完美无缺。但是在 Internet Explorer 中,由于正文中的阴影,无法单击此菜单中的链接。是否有解决此问题的简单方法,或者可以轻松禁用 ie 上的 css 的方法?

enter image description here

相关代码如下:

主要内容上的阴影

.wrapper {
-webkit-box-shadow: 3px 0px 10px 1px rgba(0,0,0,1);
-moz-box-shadow: 3px 0px 10px 1px rgba(0,0,0,1);
box-shadow: 3px 0px 10px 1px rgba(0,0,0,1);
}

单击菜单按钮时显示的固定菜单。

.sidemenu {
position: fixed;
right: 0px;
top: 0px;
width: 260px;
height: 100%;
background: #2b2b2b;
z-index: -10;
overflow: hidden;
transition: 0.2s;
color: white;
text-align: center;
}

这有效: 添加了一个 javascript 函数来检测 Internet Explorer。

if (detectIE() != false) {
    $('.sidemenu').css('zIndex', '1000');
}

单击菜单时,会调整 ie 上的索引以绕过所有其他层。效果很好。

最佳答案

嗯……有几件事会有所帮助;比如哪个版本的 IE 你看到这个问题?

但是,听起来像是设置一个 z-index:在这些链接上更高可以做到这一点。

.menu { 
  position: relative; // works best if parent is set to relative
}

.menu li a { 
   // all it's styles
   z-index: 1001; //add
}

如果以上方法单独不起作用,请尝试设置一个较低的 z-index到页面包装器或 <body>如果这就是您在这种情况下必须使用的全部内容。 Eg. z-index: 888;有关 z-index 堆叠顺序的信息,请查看此 reference (updated) .

但您确实需要向我们展示您用来完全调试它的实际代码。

我很好奇你的 box-shadow: 是怎么写的你不应该做更多的事情 (只对你想要这种效果的外部元素,尝试移动到页面包装器而不是 body 标签)

.shadow {
   -moz-box-shadow:    inset 0 0 10px #000000;
   -webkit-box-shadow: inset 0 0 10px #000000;
   box-shadow:         inset 0 0 10px #000000;
}

关于javascript - 投影阻止 Internet Explorer 中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30874769/

相关文章:

javascript - 访问 vue 组件内的 ID 标签

javascript - 增量 Javascript/CSS 条形图

css - 调整 CSS 中重复出现的数字属性的值而不是覆盖它

javascript - 在 Internet Explorer 的新选项卡中打开链接时 SessionStorage 不为空

html - geoLocation.GetCurrentPosition 在 IE 11 中总是失败

JavaScript 转换后的 FILETIME 休息一天

javascript - 如何在 mvc 4 中不使用模型进行客户端验证

html - Bootstrap 与我自己的 css 文件冲突

css - 哪些字符在 CSS 类名/选择器中有效?

如果主机名在 IE 上没有点,则 JavaScript window.Element 未定义。为什么?