想要在浏览器左侧固定一个导航栏,宽60px,高同浏览器窗口,导航栏的外围是div,内包含一个ol列表,每个li元素包含导航单元图标(所有导航单元使用同一图片长900px宽100px,通过margin调整显示图片部分),按照预期应当是导航单元内显示图片margin后的局部(长50px宽50px区域),但是实际上显示了图片的缩小图,#sidebar li span {}内的overflow: hidden好像没起作用,请大家帮忙看下哪里有问题(firefox和chrome测试过)。
html的代码块如下:
<div id="sidebar">
<ol>
<li class="logo">
<a href="#">
<span><img width="100" height="900" alt="" src="sidebar.png"></span>
</a>
</li>
<li class="profile">
<a href="#">
<span><img width="100" height="900" alt="" src="sidebar.png"></span>
</a>
</li>
<li class="following active">
<a href="#">
<span><img width="100" height="900" alt="" src="sidebar.png"></span>
</a>
</li>
<li class="activity">
<a href="#">
<span><img width="100" height="900" alt="" src="sidebar.png"></span>
</a>
</li>
</ol>
</div>
css代码如下
#sidebar {
background: none repeat scroll 0 0 #FFFFFF;
border-right: 1px solid #DDDDDD;
top: 0;
bottom: 0;
left: 0;
width: 60px;
overflow: hidden;
position: fixed;
z-index: 12;
}
#sidebar ol {
height: 100%;
overflow-y: scroll;
width: 200px;
}
#sidebar li {
font-size: 13px;
height: 50px;
line-height: 50px;
overflow: hidden;
position: relative;
width: 180px;
}
#sidebar li a {
display: block;
padding: 0;
}
#sidebar li span {
display: inline-block;
height: 50px;
margin-left: 5px;
margin-right: 0;
overflow: hidden;
vertical-align: middle;
width: 50px;
}
#sidebar li a span img {
display: block;
}
#sidebar li.profile img {
margin: -50px 0 0;
}
#sidebar li.following img {
margin: -100px 0 0;
}
#sidebar li.activity img {
margin: -150px 0 0;
}