覆盖文字不隐藏,启动和关闭覆盖导航不工作
Overlay text doesn't hide, launching and closing of overlay nav not working
目前我有一个标题,子标题,基于css的菜单,然后是一个覆盖显示的文本,默认情况下应该隐藏。
我希望我的代码产生的是标题,子标题,基于css的菜单,然后是一个"打开"按钮,启动覆盖,如本例中所示。
This Fiddle给出了一个可复制的例子。
可能是我的其他一些HTML或CSS打破了覆盖,但它不清楚究竟是如何。
这是关键HTML:
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
<!-- Use any element to open the sidenav -->
<span onclick="openNav()">open</span>
关键JavaScript:
/* Set the width of the side navigation to 250px */
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
}
/* Set the width of the side navigation to 0 */
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
CSS: 和
/* The Overlay (background) */
.overlay {
/* Height & width depends on how you want to reveal the overlay (see JS below) */
height: 100%;
width: 0;
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
left: 0;
top: 0;
background-color: rgb(0,0,0); /* Black fallback color */
background-color: rgba(0,0,0, 0.9); /* Black w/opacity */
overflow-x: hidden; /* Disable horizontal scroll */
transition: 0.5s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}
/* Position the content inside the overlay */
.overlay-content {
position: relative;
top: 25%; /* 25% from the top */
width: 100%; /* 100% width */
text-align: center; /* Centered text/links */
margin-top: 30px; /* 30px top margin to avoid conflict with the close button on smaller screens */
}
/* The navigation links inside the overlay */
.overlay a {
padding: 8px;
text-decoration: none;
font-size: 36px;
color: #818181;
display: block; /* Display block instead of inline */
transition: 0.3s; /* Transition effects on hover (color) */
}
/* When you mouse over the navigation links, change their color */
.overlay a:hover, .overlay a:focus {
color: #f1f1f1;
}
/* Position the close button (top right corner) */
.overlay .closebtn {
position: absolute;
top: 20px;
right: 45px;
font-size: 60px;
}
/* When the height of the screen is less than 450 pixels, change the font-size of the links and position the close button again, so they don't overlap */
@media screen and (max-height: 450px) {
.overlay a {font-size: 20px}
.overlay .closebtn {
font-size: 40px;
top: 15px;
right: 35px;
}
}
你只设置div的宽度为0px。这不会隐藏你的div。
/* Set the width of the side navigation to 250px */
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
}
/* Set the width of the side navigation to 0 */
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
如果您执行以下操作
function closeNav() {
document.getElementById("mySidenav").style.visibility = "hidden";
}
它会隐藏。
你可以在这里阅读更多关于CSS可见性属性:http://www.w3schools.com/jsref/prop_style_visibility.asp
相关文章:
- 在循环中分配json值时,值被覆盖
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- 单击Fancy Box覆盖按钮调用Ajax时,Ajax未按预期工作
- 代码镜像 - 覆盖主页/结束按钮以正常工作
- 脚本不允许lightbox覆盖嵌入的Youtube视频(wmode=透明),但其他脚本可以工作
- 如何使requirejs与jasmine和blanketjs一起工作以覆盖代码
- 引导弹出窗口:使用回调来显示/隐藏覆盖-不工作
- CSS覆盖菜单在firefox中不工作
- 覆盖不工作fancybox v2
- 覆盖文字不隐藏,启动和关闭覆盖导航不工作
- 覆盖Javascript警报功能-不工作的动态添加的JS
- 覆盖CSS过滤器反转不工作在Mozilla Firefox
- 同位素过滤器与jquery css覆盖不工作如预期
- 图像映射与覆盖不工作在IE
- 当使用循环添加标记时,Leafletjs地图覆盖停止工作
- 试图覆盖警报,它工作,但执行两次
- 当菜单被访问时,CSS覆盖不能正常工作
- 传单:地图点击事件不工作时,点击一个覆盖的geojson层
- JQuery POST用Ajax覆盖txt文件不工作