position:fixed;默认是相对浏览器窗口定位的,如果想要让一个元素相对一个div容器内固定定位,html部分如下:
要置顶的导航栏
cccccccccccccccccccc
```
需要让#fixed_obj元素在#parent容器内固定置顶,css样式如下:
```#parent{
width:60%; height:60%;
margin:50px auto;
border:1px solid #f00;
overflow-y:scroll;
}
#fixed_obj{
position:fixed;
margin:0; /*关键*/
color:#f00;
}```
所以,需要定位的元素除了position:fixed以外,需要通过margin来调距离,而不是left和top;
BUT......IE6、IE7(quirk模式)、IE8(quirk模式) 浏览器将 'position' 特性的 fixed 值当作错误值处理。从而导致使用固定定位的元素使用 'position' 的默认值 static。即这个元素在 此时 变成了普通流中的元素,这必然会导致布局错位等问题。
解决办法请参照:http://www.cnblogs.com/hooray/archive/2011/05/20/2052269.html
|