您好我按照代码审核片段在我的网站上实施,我正在稳步发展。
我已经找到了如何使它粘在底部,并向下滚动它粘在顶部。 但是当它显示在底部时,它不会完全显示导航。 HTML代码:
<div class="header">
<nav id="main-navigation">
<ul>
<li><a href="/archive">Archive</a></li>
<li><a href="/events">Events</a></li>
<li><a href="/contact">Contact</a></li>
<ul>
</nav>
</header>
JQUERY SCRIPT:
<script type="text/javascript">
var $window = $(window);
var nav = $('#main-navigation');
$window.scroll(function(){
if ($window.scrollTop() >= 300) {
nav.addClass('fixed-header');
}
else {
nav.removeClass('fixed-header');
}
});</script>
CSS SNIPPET:
header{position:fixed;bottom:0;z-index:999999;}
.fixed{
position: absolute;
bottom:0; left:0;
width: 100%;
z-index:900; }
.fixed-header {
position: fixed;
top:0px; left:0;
width: 100%;
}
nav {
width:100%;
height:60px;
background: #292f36;
postion:fixed;
z-index:100;
bottom:0px;
}
nav ul {
list-style-type: none;
margin: 0 auto;
padding-left:0;
text-align:right;
width: 960px;
}
nav ul li {
display: inline-block;
line-height: 60px;
margin-left: 10px;
}
nav ul li a {
text-decoration: none;
color: #a9abae;
}
示例TESTSITE:
也许我必须为此打开一个新的stackexchange QA,但是有人看到为什么我的窗口宽度比我的节宽度大吗?我检查了一切都是宽度:100%?但也许我必须为此开一个新问题。
答案 0 :(得分:0)
从我在测试网站上看到的内容。你说明.fixed-header的宽度是100%,这很好,因为它是一个固定的元素,它忽略了父节点的宽度,并调整到100%的屏幕。
但是,当您移动到绝对值时,100%会查找DOM树以查找具有明确大小的对象。由于您没有在任何父节点中声明一个,因此它只是自动调整Nav ul内容的960。
header{
position:fixed;
bottom:0;
z-index:999999;
min-width:100%; //width or min-width would work here
}
当你删除nav元素的“固定”状态时,这应该给它一个明确的宽度值,因为它将回退到100%宽度的固定父元素。