那些遇到的position-fixed无效事件
本篇文章由:http://xinpure.com/position-fixed-encountered-an-invalid-event/
第一次无效事件
事件主角: transform
应用环境: Chrome/FireFox
事件回顾:
这是在使用 iscroll js滚动库的时候,遇到的问题
当时的需求是需要在滚动到一定的距离的时候,将一个 tab 列表固定到顶部,不随页面滚动
固定定位元素嘛,小事!我们知道这是一个非常普通的需求,实现方式也比较简单,那就是使用 position: fixed 就可以将元素固定到浏览器的指定位置了
而我也照做了,令人无语的是,完全没有效果?! (仅仅只是 position: absolute 的效果)
后来经过一番调试之后,发现是因为父元素有一个 transform 属性,导致了这个问题的出现。
因为 iscroll 是基于 transform 属性实现滚动的, 所以 iscroll 会通过实时修改元素的 transform 属性以达到滚动的效果
也就是说,只要父元素如果存在 transform 属性,子元素的 position: fixed 属性无效。
Google:
https://bugs.chromium.org/p/chromium/issues/detail?id=20574
"position: fixed" still do not cope with transform value
这个解释好有道理!
链接中也有提到说给子元素添加 -webkit-transform: translateZ(0); 就可以解决这个问题
我只能说亲测无效!
百度:
http://www.zhangxinxu.com/wordpress/2015/05/css3-transform-affect/
第二次无效事件
事件主角: -webkit-overflow-scrolling
应用环境: 手机Web应用
事件回顾:
在 Mobile Web 开发中,用户体验是个非常重要的点。
所以像平滑滚动的特性是少不了的,通常会使用 -webkit-overflow-scrolling 实现这一效果
该属性控制元素在移动设备上是否使用滚动回弹效果。
-webkit-overflow-scrolling: touch; /* 当手指从触摸屏上移开,会保持一段时间的滚动 */
-webkit-overflow-scrolling: auto; /* 当手指从触摸屏上移开,滚动会立即停止 */
不巧,这次我又有个将元素设置成 position: fixed 的需求
在有上次的经历(transform)后,并没有让我长什么记性,不过说实话,position 这原本就是一个特别简单的一个属性,又怎么会。。。
只能说话音刚落,瞬间就蒙逼了!又是无效!心中草泥马纵横交错!
最后也是发现,只要父元素的 -webkit-overflow-scrolling 属性值为 touch,子元素的 position: fixed 属性就无效。
Google:
百度:
Not Found
那些遇到的position-fixed无效事件的更多相关文章
- IE6中position:fixed无效问题解决
在做页面右下脚对话框时,直接使用position:fixed;大部分浏览器很容易就能做到,但是在IE6中却发现不行,原来是IE6不支持position:fixed;这个属性. 虽然用JS肯定能解决这个 ...
- IOS 键盘弹出导致的position:fixed 无效问题
解决办法(还未测试): 只需要在中间部分外层div添加css样式position:fixed;top:50px; bottom:50px;overflow:scroll;就可以实现效果,无需插件.可拷 ...
- 微信小程序 video组件----真机测试position:fixed无效 且有黑底
1.问题描述 video组件fixed后,视频随页面滚动,且有个黑色底停留在页面. 页面滚动前 滚动后 这里贴一下修改前代码,在微信开发者工具看是没有任何问题的.在手机端测试就有以上的问题 <v ...
- ios设备触发虚拟键盘输入后position:fixed 无效的一些简单另类的解决方法。
首先看一下我要解决的问题,第一张图是正常的情况下,第二张图是点击了输入框之后的情况,就是要解决此问题~! 百度了一下解决方法,好像有以下的一些方法: 1. iscroll 2. Jquery Mobi ...
- ie 9 position:fixed 无效的两种情况
第一种情况: 运行发现在Google Chrome,FireFox都可以的,但是在IE9就不行了很是郁闷,因为IE6以上的版本都是支持fixed的属性的:上网上找了好久没找到,因为不知道关键字该怎么搜 ...
- 父节点使用css的transform: translate(0, 0)时position:fixed在chrome浏览器中无效
今天在做移动端的页面,无意间发现了一个Chrome浏览器下的一个bug,在使用CSS3的transform: translate(0, 0)属性对节点A进行位置转化,此时A节点下面有一个字节点B,节点 ...
- ie7中position:fixed定位后导致margin:0 auto;无效
布局网页时,需要把header固定在上方.直接使用position:fixed;现代浏览器以及ie8以上均正常显示,但是ie7中,header里面的子元素设置的水平居中并没有效果.做了各种尝试,都没有 ...
- position:fixed和scroll实现div浮动【示例】
前言 在自己建站的过程中,要实现一个div随滚动条浮动的效果,网上找了些示例不太好用,还是自己动手,丰衣足食,写的不好请大家谅解,毕竟我不是搞前端的,因为自己建站毕竟每一步都必须自己来,这边只是做个记 ...
- iOS下的 Fixed + Input 调用键盘的时候fixed无效问题解决方案
做touchweb开发的时候,做头疼的是,电脑上面时候好的,有些手机上面也是好的,个别手机和浏览器出现问题,对于这些,只能慢慢调试,找问题. 今天说一下比较老的IOS的问题,那就是"iOS下 ...
随机推荐
- u-boot支持yaffs映像烧写的补丁
u-boot的nand flash驱动有两个版本,似乎是以u-boot1..5为分界点的,之前的版本使用的是自己写的nand flash驱动,而后面的版本使用的是linux内核中nand flash的 ...
- mac的cpu处理器个数、核数、超线程
处理器:1个 每个核的L2缓存大小:256KB L3缓存大小:3MB 核数:2个 2个核却有4个CPU:使用了超线程技术--双核四线程 macOS,查看CPU信息:sysctl machdep.cpu ...
- 【STL学习】堆相关算法详解与C++编程实现(Heap)
转自:https://blog.csdn.net/xiajun07061225/article/details/8553808 堆简介 堆并不是STL的组件,但是经常充当着底层实现结构.比如优先级 ...
- libuv之介绍
本人是在研究linux下socket TCP/IP通讯时,用到了一些linux下的API,比如socket, connect, bind,listen, accept等等,简单写个点对点的通讯,直接用 ...
- graphic rendering pipeline
整理下管线 此时一定要有这张图 注意表中的数据流向 强调几个细节 之前对次序理解有点乱 rasterizer之前 管线里是只有逐顶点信息的 IA里面会setup primitive 通过Primit ...
- [leetcode]Construct Binary Tree from Inorder and Postorder Traversal @ Python
原题地址:http://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/ 题意: ...
- JavaScript操作XML(二)
上一篇介绍了XML的结构以及节点之间的关系这一篇介绍浏览器内建的XML解析器以及JavaScript是如何加载XML的. 大多数浏览器都有读取和操作 XML 的内建 XML 解析器. 解析器(XML ...
- POJ 1651 Multiplication Puzzle (区间DP)
Description The multiplication puzzle is played with a row of cards, each containing a single positi ...
- Android程序apk反编译破解方法
简短不割了,我们直接奔主题吧. 把apktool-install-windows-r05-ibot文件里的两个文件剪切到apktool1.5.1目录. 新建一个文件夹把需要破解的apk应用程序放进去. ...
- ToolBarTray
<ToolBarTray DockPanel.Dock="Top"> <ToolBar ToolBarTray.IsLocked="True" ...