例如,我有固定的导航,是否可以将列表项固定在导航的底部?我也尝试将列表项设置为固定位置,但这会弄乱它们的布局,如您在fiddle
中所见这是我的代码:
#nav {
height: 75px;
width: 100%;
position: fixed;
top: 0;
z-index: 1;
border-bottom: 1px solid white;
background-color: #157FFB;
border-bottom: 2px solid #eeeeee;
}
#nav>ul {
list-style: none;
margin: 0;
}
#nav>ul>li {
display: inline;
/*these two lines were my attempt at anchoring the list items to the bottom f the #nav, but it throws everything out of wack*/
position: fixed;
top: 45px;
}
<div id="nav">
<ul>
<li class="align_left"><a href="#">LOGO</a></li>
<li class="align_right"><a href="#">Repairs/Upgrades</a></li>
<li class="align_right"><a href="#">Networking</a></li>
<li class="align_right"><a href="#">Remote Backups</a></li>
<li class="align_right"><a href="#">Data Recovery</a></li>
</ul>
</div>
关于如何做到这一点的任何建议?
答案 0 :(得分:0)
使用fixed
或absolute
位置时,它会从文档流中删除一个元素,因此当您将这些位置应用于{{1 }}元素。
相反,您应该将li
块绝对定位在ul
的底部:
#nav
答案 1 :(得分:0)
据我所知,您希望列表元素位于标题的底部。只需将position: fixed;
更改为position: relative;
。这样可以使元素和页面保持一致。
这是您的解决方案:
#nav{
height: 75px;
width: 100%;
position: fixed;
top: 0;
z-index: 1;
border-bottom: 1px solid white;
background-color: #157FFB;
border-bottom: 2px solid #eeeeee;
}
#nav > ul{
list-style: none;
margin: 0;
}
#nav > ul>li{
display:inline;
/*these two lines were my attempt at anchoring the list items to the bottom f the #nav, but it throws everything out of wack*/
position: relative;
top:50px;
}
<div id="nav">
<ul>
<li class="align_left"><a href="#">LOGO</a></li>
<li class="align_right"><a href="#">Repairs/Upgrades</a></li>
<li class="align_right"><a href="#">Networking</a></li>
<li class="align_right"><a href="#">Remote Backups</a></li>
<li class="align_right"><a href="#">Data Recovery</a></li>
</ul>
</div>
答案 2 :(得分:0)
如果您希望将某些内容锚定到元素的底部,但仍保留在页面流中,请尝试使用relative positioning。从本质上讲,这意味着您为#nav
元素赋予了相对位置,同时也为li
元素赋予了相对位置:
#nav {
height: 75px;
width: 100%;
position: relative;
top: 0;
z-index: 1;
border-bottom: 1px solid white;
background-color: #157FFB;
border-bottom: 2px solid #eeeeee;
}
#nav>ul {
list-style: none;
margin: 0;
}
#nav ul li {
display: inline;
position: relative;
top: 45px;
}
<div id="nav">
<ul>
<li class="align_left"><a href="#">LOGO</a></li>
<li class="align_right"><a href="#">Repairs/Upgrades</a></li>
<li class="align_right"><a href="#">Networking</a></li>
<li class="align_right"><a href="#">Remote Backups</a></li>
<li class="align_right"><a href="#">Data Recovery</a></li>
</ul>
</div>
这似乎效果很好,请告诉我是否无效。
您遇到的问题是固定的位置使它们一团糟。固定定位所有项目相对于视口的位置,因此如果所有li
都带有
position: fixed;
top: 45px;
他们全都在同一地点。