【发布时间】:2017-07-25 20:57:49
【问题描述】:
我的画布外菜单有问题。当菜单打开时,其中的 p 标签似乎会随着它的展开而改变它们的左边距。我希望我的 p 标签完全忽略菜单的打开和关闭并保持它们的文本对齐。这是我想要它做的一个想法:https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_sidenav_push
将其与我当前的代码进行比较:
function openNav() {
document.getElementById("nav").style.width = "250px";
document.getElementById("burger").style.left = "260px";
}
function closeNav() {
document.getElementById("nav").style.width = "0";
document.getElementById("burger").style.left = "10px";
}
* {
margin: 0;
madding: 0;
}
html, body {
height: 100%;
}
body {
font-family: sans-serif;
}
nav {
position: absolute;
top: 0;
left: 0;
display: inline-block;
height: 100%;
background-color: #333;
color: #fff;
padding-top: 30px;
text-align: center;
width: 0;
white-space: nowrap;
overflow-x: hidden;
transition: width 1.5s;
}
.close {
cursor: pointer;
position: absolute;
top: 5px;
right: 15px;
font-size: 2em;
}
nav p {
cursor: pointer;
display: block;
font-size: 1.7em;
margin: 30px auto;
white-space: nowrap;
}
nav p:hover {
opacity: 0.8;
}
.burger {
will-change: left;
position: absolute;
left: 10px;
cursor: pointer;
font-size: 2em;
z-index: 1;
transition: 1.5s;
}
<nav id="nav">
<span class="close" onclick="closeNav()">×</span>
<p>Home</p>
<p>About</p>
<p>Blog</p>
<p>Contact</p>
</nav>
<span class="burger" id="burger" onclick="openNav()">☰</span>
本质上,我希望 p 标签的行为就像它们是绝对定位的,但在导航扩展时居中。
【问题讨论】:
标签: javascript html css