javascript - header 位置为 :sticky is flickering in chrome when shrinking

标签 javascript html css google-chrome sticky

我有一个导航元素,在其他一些内容下方,一旦达到滚动高度,我就应该固定。这是通过 position:sticky 实现的,并且在所有浏览器中都可以正常工作。但我也想在该元素修复后立即缩小该元素。

https://codepen.io/arichter83/pen/xMLyOJ

如果在 Chrome(71.0.3578.98 64 位 Mac)上缓慢滚动,此标题会闪烁,因为如果元素正在收缩,window.scrollY 页面的缩小,这使得元素再次变大......来回。 (使用“开始”查看行为)

有什么解决方法吗?

  • 以固定高度包裹:这会阻止下面的内容向上移动,这是我想要的。

最佳答案

将位置属性添加到您的 header.minified ID 似乎已停止闪烁。

#header.minified {
  font-size: 24px;
  line-height: 48px;
  height: 48px;
  background: #efc47D;
  text-align: left;
  padding-left: 20px;
  position: fixed;
}

关于javascript - header 位置为 :sticky is flickering in chrome when shrinking,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54535005/

相关文章:

html - 列表自身崩溃?

html - 将按钮移到 Div 前面

html - 如何在按钮下添加一行?

javascript - Canvas 后 child 的位置是 chrome 和 safari 之间的区别

javascript - 现代网络开发的 cookie 替代品?

php - 为什么我们应该使用 PHP?

javascript - 从上到下垂直对齐文本 HTML5 CSS3

css - 引号可以在类名的 css 选择器中使用吗?

javascript - jquery延迟加载插件

javascript - AJAX 发布 fatal error 列不能为空