我有一个带菜单的简单html页面,以及iframe中的pdf。 Adobe Reader在iframe中显示pdf。在IE9中,当菜单被激活(悬停在上面)时,它的一部分会在pdf文档后面。这似乎只是IE(?)的一个问题。
我知道有相似的帖子,但是我无法在那里找到解决方案。这是我的代码。
html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>CSS Dropdown Menu</title>
<link href="style.css" rel="stylesheet" />
</head>
<body>
<nav>
<ul>
<li><a href="#">Menu</a>
<ul>
<li><a href="#">Option 1</a></li>
<li><a href="#">Option 2</a></li>
<li><a href="#">Option 3</a></li>
<li><a href="#">Option 4</a></li>
<li><a href="#">Option 5</a></li>
<ul>
<li><a href="#">Option 5A</a></li>
<li><a href="#">Option 5B</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
<iframe src="http://www.relacweb.org/menuconferencia/menu/manual-memorias.pdf" width="900px" height="600px" >
</body>
</html>
其中style.css是:
body, div, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, img, form, fieldset, input, textarea, blockquote {
margin: 0; padding: 0; border: 0;
}
body {
background: #909eab url(bg.png);
font-family: Helvetica, sans-serif; font-size: 18px; line-height: 24px;
}
nav {
margin: 100px auto;
text-align: center;
}
nav ul ul {
display: none;
}
nav ul li:hover > ul {
display: block;
}
nav ul {
background: #efefef;
background: linear-gradient(top, #efefef 0%, #bbbbbb 100%);
background: -moz-linear-gradient(top, #efefef 0%, #bbbbbb 100%);
background: -webkit-linear-gradient(top, #efefef 0%,#bbbbbb 100%);
box-shadow: 0px 0px 9px rgba(0,0,0,0.15);
padding: 0 20px;
border-radius: 10px;
list-style: none;
position: relative;
display: inline-table;
}
nav ul:after {
content: ""; clear: both; display: block;
}
nav ul li {
float: left;
}
nav ul li:hover {
background: #4b545f;
background: linear-gradient(top, #4f5964 0%, #5f6975 40%);
background: -moz-linear-gradient(top, #4f5964 0%, #5f6975 40%);
background: -webkit-linear-gradient(top, #4f5964 0%,#5f6975 40%);
}
nav ul li:hover a {
color: #fff;
}
nav ul li a {
display: block; padding: 25px 40px;
color: #757575; text-decoration: none;
}
nav ul ul {
background: #5f6975; border-radius: 0px; padding: 0;
position: absolute; top: 100%;
}
nav ul ul li {
float: none;
border-top: 1px solid #6b727c;
border-bottom: 1px solid #575f6a; position: relative;
}
nav ul ul li a {
padding: 15px 40px;
color: #fff;
}
nav ul ul li a:hover {
background: #4b545f;
}
nav ul ul ul {
position: absolute; left: 100%; top:0;
}
这是在IE 9中运行时的屏幕截图:
有没有办法调整上面的代码,以便菜单显示在pdf文档的正面?例如就像在其他浏览器中运行时一样,例如chrome:
编辑:
听起来像bgiframe可以用来解决这个问题。我使用了bgiframe版本3.0.1,但无法使其工作(没有报告错误,并且页面行为没有差异)。
尝试过类似的事情:
<script type="text/javascript">
$(document).ready(function(){
var settings = { conditional: true };
$('.mainlevel li').bgiframe(settings);
});
</script>
并更改了
<li><a href="#">Menu</a>
到
<li class="mainlevel"><a href="#">Menu</a>
如果有人可以在这个例子中使用bgiframe来启发我,那就太棒了。