【发布时间】:2014-07-04 07:39:00
【问题描述】:
我在页面顶部有一个固定位置的菜单栏(比如说)50px 高,body 也有 50px 的上边距。在菜单栏上方,可能有一条高度不同的错误消息。这种变化意味着主体顶部的边距需要相应地改变。
我想避免在此处使用 javascript,但如果不可能,我将使用它作为最后的手段。
http://subjectplanner.co.uk/Me/ 是页面外观的一个示例。如果您单击错误消息,它将消失,这就是页面的外观。
HTML 代码:
<div id="NavWrapper">
<div id="NavErrorWrapper" class="Notification">
<div id="NavError">You must be logged in!</div>
</div>
<div id="NavBar">
<a href="/index" id="NavLogo"><img src="logo.png" /></a>
<div class="HideIfJavaOff"><a href="#" id="NavMenu"><img src="menu.png" /></a></div>
<div class="MenuClear"></div>
<!-- MENU LIST HERE -->
</div>
</div>
<!-- End Floating Navigation Bar -->
<!-- Responsive Wrapper -->
<div id="MainWrapper">
<!-- CONTENT HERE -->
</div>
</body>
CSS 代码:
#NavWrapper{
width: 100%;
z-index: 1;
top: 0;
position: fixed;
height:70px;
}
#NavErrorWrapper{
z-index: 3;
text-align: center;
width: 100%;
padding: 7px;
background-color: rgb(255, 148, 148);
border-bottom-style: solid;
border-bottom-color: rgb(252, 88, 88);
border-bottom-width: 3px;
display: block;
}
#NavError{
width: 100%;
max-width: 900px;
margin: 0 auto;
}
#NavBar{
overflow: hidden;
display: block;
width: inherit;
max-width: 900px;
z-index: 2;
height:auto;
margin: 0 auto;
background-color: #fff;
}
【问题讨论】:
-
尝试将
px值更改为%值?此外,您有两个z-index: 999;实例,这肯定是错误/错字。实际上,如果列出的 HTML 包含 z-index 的唯一实例,您应该使用 1、2 和 3,而不是 995、999 和 999(或任何您想要输入的内容),因为前者是更好的做法。
标签: javascript html css responsive-design margin