我有以下html和css。问题是当它运行时,全屏菜单只出现在导航栏中。只有在使用safari时才会出现此问题。
我可以解决我摆脱
的问题.nav {
position: fixed;
}
但我仍然希望导航栏固定在页面顶部。
.nav {
font-family: Arial-BoldMT;
font-size: 16px;
list-style: none;
text-align: right;
padding: 0px 0 0px 0;
box-shadow:0px 1px 1px #d3d3d3;
background-color: white;
width: 100%;
z-index:0.1;
overflow: auto;
position: fixed;
top: 0;
}
.nav p {
float: left;
margin-left: 40px;
color: #333333;
}
.overlay {
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0, 0.9);
overflow-x: hidden;
transition: 0.5s;
}
.overlay-content {
position: relative;
top: 25%;
width: 100%;
text-align: center;
margin-top: 30px;
}
.overlay a {
padding: 8px;
text-decoration: none;
font-size: 36px;
color: #818181;
display: block;
transition: 0.3s;
}
.overlay a:hover, .overlay a:focus {
color: #f1f1f1;
}
.overlay .closebtn {
position: absolute;
top: 20px;
right: 45px;
font-size: 60px;
}
.slider {
font-size:30px;
cursor:pointer;
float:right;
margin-right: 40px;
}
@media screen and (max-height: 450px) {
.overlay a {font-size: 20px}
.overlay .closebtn {
font-size: 40px;
top: 15px;
right: 35px;
}
}
<div class="nav">
<p>LIAM VINSON</p>
<div id="myNav" class="overlay">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<div class="overlay-content">
<a href="index.html">HOME</a>
<a href="about.html">ABOUT</a>
<a href="photography.html">PHOTOGRAPHY</a>
<a href="portfolio.html">PORTFOLIO</a>
<a href="contact.html">CONTACT</a>
</div>
</div>
<span class="slider" onclick="openNav()">☰</span>
<script>
function openNav() {
document.getElementById("myNav").style.width = "100%";
}
function closeNav() {
document.getElementById("myNav").style.width = "0%";
}
</script>
</div>
答案 0 :(得分:0)
z-index:0.1;
无效css。
z-index必须是整数 - 负数或正数。有可能大多数浏览器只是将其视为0,但Safari不知道如何处理它。所以,将它改为像
这样的整数 z-index:1;
并将叠加设置为z-index:2(尽管如果你必须索引其他元素,我建议将这些数字间隔开来。即.z-index:100;和z-index:200;)
将其设置为固定,顶部为0,一旦您纠正了那个z-index问题,就应该将它固定在页面顶部。
答案 1 :(得分:0)
问题是
.nav {
overflow: auto;
}
它阻止叠加显示在导航div之外。