作为一名网络开发人员,我非常喜欢在Chrome上开发。现在我注意到一个位置错误:谷歌Chrome浏览器上的粘性。定位粘性的元素不会正常运行,意味着:一切似乎都很好,直到你悬停一个粘性定位元素,它不会对交互等作出反应(也是JavaScript函数在点击时不会被激活)
我也在Mozillas Firefox上对它进行了测试,它正在按预期工作。
它(相关元素的)位置是粘性的,但它的行为是错误的!
该问题有什么问题吗?
答案 0 :(得分:4)
如果有人好奇,这可能是chrome中的错误:
https://bugs.chromium.org/p/chromium/issues/detail?id=827224
从Chrome 68开始修复了这个问题(截至2014年4月17日尚未发布),但是,如果粘性元素的容器有填充,则还有另一个错误仍未解决:
https://bugs.chromium.org/p/chromium/issues/detail?id=834054
答案 1 :(得分:0)
现在弹性容器中的位置粘性在 Chrome 中起作用,如果它在您的情况下不起作用,可能有一个解决方案:
由于 flex box 元素默认拉伸,所有元素高度相同,不能滚动。
将 align-self: flex-start
添加到粘性元素将高度设置为自动,允许滚动并修复它。
目前所有主流浏览器都支持这一点,但 Safari 仍然支持 -webkit- 前缀,除 Firefox 之外的其他浏览器也存在一些位置问题:粘性表。