baidu / san

A fast, portable, flexible JavaScript component framework
https://baidu.github.io/san/
MIT License
4.73k stars 551 forks source link

san反解遍历子元素,会移除由空格或换行组成的文本节点,造成页面抖动 #763

Closed AmazingRain closed 1 year ago

AmazingRain commented 1 year ago

san反解,进行元素子节点遍历时(DOMChildrenWalker),遍历到节点为文本节点时会将元素之间的空格换行换行去掉。

image

当子元素为行内元素时,未设置 trimWhitespace 为 all 时,会导致页面抖动。原因为浏览器会将行内元素之间的换行、空格渲染为一个空格,但当反解时会将换行、空格移除掉,导致页面抖动。

感觉移除空格(换行)这个逻辑是不是有什么特殊考虑,还是说这就是一个Bug

demo地址

errorrik commented 1 year ago

可能是 bug