openkraken / kraken

A web standards-compliant, high-performance rendering engine based on Flutter.
https://openkraken.com
Apache License 2.0
4.93k stars 304 forks source link

粘性定位时会发生抖动 #752

Open cnryb opened 2 years ago

cnryb commented 2 years ago

使用的 Kraken 版本 | What version of kraken are you using

0.8.4

重现步骤 | Steps To Reproduce

样例工程在这里 https://github.com/cnryb/kraken-demo/blob/master/test-case/test-case8/src/App.vue

重现代码 | Code example:

<template>
  <div style="position: sticky; top: 0px; background: #fff; display: flex; ">
    <h1>布局</h1>
  </div>
  <div style="background-color: #efefef; box-sizing: border-box;">
    <div v-for="i in 300"
         :key="i">{{ i }}</div>
  </div>
</template>

update 2021-10-22 发现一段新的会抖动的代码,似乎是跟 flex 布局没关系

<template>
  <div>
    <div style="position: sticky;  top: 56px; background-color: #666">A</div>
    <div v-for="i in 3000" :key="i">{{ i }}</div>
  </div>
</template>

实际结果 | Actual results:

https://user-images.githubusercontent.com/3817284/138260321-4d63880f-2cb3-462d-b20c-6891dde231f9.mov

cnryb commented 2 years ago

把视频全屏看会更明显