CSS3 calc实现滚动条出现页面不跳动
2017-02-23 13:19
267 查看
转自:
链接:http://caibaojian.com/css3-calc-vw.html
来源:http://caibaojian.com
当页面内容动态加载,开始没有滚动条,内容增多后出现滚动条,这时使用固定宽度居中对齐布局会向左偏移一个滚动条宽度。解决方法可以给内容全部添加overflow-y:scroll;或者是根据内容用css填充好再补充内容。本文介绍的是calc来计算滚动条宽度,当有滚动条时,内容外部也给它模拟一个滚动条宽度,因而就不会偏移了。
很简单,只要一行代码就搞定了:
或者:
然后就可以庆祝放鞭炮啦!!
首先,.wrap-outer指的是居中定宽主体的父级,如果没有,创建一个(使用主体也是可以实现类似效果,不过本着宽度分离原则,不推荐);
然后,calc是css3中的计算,IE10+浏览器支持,IE9浏览器基本支持(不能用在background-position上);
最后,100vw相对于浏览器的window.innerWidth,是浏览器的内部宽度,注意,滚动条宽度也计算在内!而100%是可用宽度,是不含滚动条的宽度。
于是,calc(100vw - 100%)就是浏览器滚动条的宽度大小(如果有,如果没有滚动条则是0)!左右都有一个滚动条宽度(或都是0)被占用,主体内容就可以永远居中浏览器啦,从而没有任何跳动!
链接:http://caibaojian.com/css3-calc-vw.html
来源:http://caibaojian.com
当页面内容动态加载,开始没有滚动条,内容增多后出现滚动条,这时使用固定宽度居中对齐布局会向左偏移一个滚动条宽度。解决方法可以给内容全部添加overflow-y:scroll;或者是根据内容用css填充好再补充内容。本文介绍的是calc来计算滚动条宽度,当有滚动条时,内容外部也给它模拟一个滚动条宽度,因而就不会偏移了。
很简单,只要一行代码就搞定了:
.wrap-outer { margin-left: calc(100vw - 100%); }
或者:
.wrap-outer { padding-left: calc(100vw - 100%); }
然后就可以庆祝放鞭炮啦!!
首先,.wrap-outer指的是居中定宽主体的父级,如果没有,创建一个(使用主体也是可以实现类似效果,不过本着宽度分离原则,不推荐);
然后,calc是css3中的计算,IE10+浏览器支持,IE9浏览器基本支持(不能用在background-position上);
最后,100vw相对于浏览器的window.innerWidth,是浏览器的内部宽度,注意,滚动条宽度也计算在内!而100%是可用宽度,是不含滚动条的宽度。
于是,calc(100vw - 100%)就是浏览器滚动条的宽度大小(如果有,如果没有滚动条则是0)!左右都有一个滚动条宽度(或都是0)被占用,主体内容就可以永远居中浏览器啦,从而没有任何跳动!
相关文章推荐
- CSS基础篇--CSS3 calc实现滚动条出现页面不跳动
- CSS3计算calc和vw单位巧妙实现滚动条出现页面不跳动
- css3 滚动条出现 页面不跳动
- 小tip:纯CSS让overflow:auto页面滚动条出现时不跳动
- CSS vw让overflow:auto页面滚动条出现时不跳动
- 页面滚动条出现临界值时跳动问题
- 小tip:CSS vw让overflow:auto页面滚动条出现时不跳动
- 因滚动条出现与否而导致页面跳动的解决方案
- 纯CSS让overflow:auto页面滚动条出现时不跳动
- css3 vw -----解决页面滚动出现跳动的bug
- CSS vw让overflow:auto页面滚动条出现时不跳动
- css3简单实现页面中出现雪花飘落效果
- vw让overflow:auto页面滚动条出现时不跳动
- 关于浏览器出现滚动条和消失页面不跳动
- CSS设计之页面滚动条出现时防止页面跳动的方法
- CSS设计之页面滚动条出现时防止页面跳动的方法
- 当body出现或消失滚动条时,页面不会跳动
- frameset, iframe, frame框架页面在IE6中出现横向滚动条bug的隐藏方法
- js代码:实现主页面滚动条随iframe里的内容自动调整
- 在VS2005中设置DIALOG的属性,将滚动条属性设置为TRUE,这样在界面中出现滚动条样式,但不能实现滚动