css中关于定位属性position为fixed的使用记载
2013-11-11 17:36
323 查看
在html中,当一个div想要定位时,我们第一反应是position属性,而position属性除了默认值外,还有absolute,relative和fixed。当被设置成fixed时,可以通过设置left、right、top、bottom的值来相对于body定位。
代码:
可是当某个div随着滚动条滚动时而被设置成fixed时(置顶,很多menu都会这样),可能会发生一个小现象(可以说是bug吧)。具体代码就不上了,就说下现象和解决办法吧。
假如一个高度为100px的页面有一个id为my-fixed的div,my-fixed的高度为20px,滚动条滚动到30px时,my-fixed被添加fiexd属性,那么此时my-fixed就脱离了页面,相对应的页面高度也要减去20px,页面高度为80px,可能正好此时滚动条所能滚动的最大高度已经小于30px,这个时候my-fixed就会一直在添加和不添加fixed之间不停闪烁,最后my-fixed并没有被添加fixed。
解决办法是,给my-fixed外层添加一个div并设置和my-fixed一样的高度,这样当my-fixed脱离时,页面高度就不会减少,闪烁的现象就能很好的避免
ps:第一次写博客,文字表达上可能不是很清楚,但大概意思应该是对的,欢迎提问,同时如果有人遇到同样的问题,并有更好的解决办法,请也告诉我
代码:
.my-fiexd{ position:fixed; height:40px; width:40px; background-color:red; border:0px; }
可是当某个div随着滚动条滚动时而被设置成fixed时(置顶,很多menu都会这样),可能会发生一个小现象(可以说是bug吧)。具体代码就不上了,就说下现象和解决办法吧。
假如一个高度为100px的页面有一个id为my-fixed的div,my-fixed的高度为20px,滚动条滚动到30px时,my-fixed被添加fiexd属性,那么此时my-fixed就脱离了页面,相对应的页面高度也要减去20px,页面高度为80px,可能正好此时滚动条所能滚动的最大高度已经小于30px,这个时候my-fixed就会一直在添加和不添加fixed之间不停闪烁,最后my-fixed并没有被添加fixed。
解决办法是,给my-fixed外层添加一个div并设置和my-fixed一样的高度,这样当my-fixed脱离时,页面高度就不会减少,闪烁的现象就能很好的避免
ps:第一次写博客,文字表达上可能不是很清楚,但大概意思应该是对的,欢迎提问,同时如果有人遇到同样的问题,并有更好的解决办法,请也告诉我
相关文章推荐
- CSS布局浮动(float)和定位(position)属性的区别和使用
- css的position定位属性中值absolute与值fixed二者的区别
- 实例详解CSS中position的fixed属性使用
- 实例详解CSS中position的fixed属性使用
- 实例详解CSS中position的fixed属性使用
- 关于CSS在浏览器中固定定位position:fixed的应用
- 在CSS中关于定位的内容是:position:relative | absolute | static | fixed<转>
- 图文详解CSS的position常用的三个属性:relative,absolute以及fixed,以及嵌套使用的一个常见情况
- (转)实例详解CSS中position的fixed属性使用
- 实例详解CSS中position的fixed属性使用
- CSS的定位即position属性的值有4种:static,relative,absolute,fixed
- 总结CSS的position定位属性在使用的一些重点
- 实例详解CSS中position的fixed属性使用
- CSS布局浮动(float)和定位(position)属性的区别和使用
- 深入理解css中的position定位和z-index属性,CSS的定位属性共有9个
- 关于css中定位的使用
- CSS Position 定位属性
- 总结·CSS3中定位模型之position属性的使用方法
- CSS中position属性详解以及定位的说明——实验1
- 纠结了一晚上,关于CSS中Position属性