position:fixed;在iOS系统上失效,自己在网上搜了一些解决办法,解决办法如下:
需要滑动的class为content
.wanttoscroll{
position: fixed;
top: 0;
left: 0;
bottom: 180px; /*距离底部的距离为底部盒子的高度,自己也可以设置*/
overflow-y: scroll;
width: 100%;
height: auto;
-webkit-overflow-scrolling: touch;
}
需要固定的class为.wanttofix
.wanttofix{
position: fixed;
transform: translateZ(0);
bottom: 0;
height: 180px;
}
说明:-webkit-overflow-scrolling: touch; 这个要加,让ios滑动更顺滑,否则会卡顿。
css中如果有用到transform也会导致fixed失效,此时给元素添加一个transform:translateZ(0);
目的是为了开启GPU硬件加速,提高性能和流畅的动画效果。如果用到translate;把translate换成translate3d,在原来的参数后面加个Z方向的平移 0即可;
注意:使用transform的时候会改变页面的层叠关系,最受影响的就是z-index这个属性,即使fixed布局设置了及其高的z-index值,也是会被transform的层叠关系影响而被遮盖!所以看不到的时候可以考虑下这个因素