顶栏是同一个白色元素,从头到尾没有换过 class。背景变什么色,它自己反过来。
白 × 黑底 = 保持白。常规做法要 JS 监听滚动加 .is-dark,这里零 JS。
反色出来的是补色,不是黑——这是 difference 的正常行为,不是 bug。
混合对象是下方所有内容,视频和 canvas 一样算。左边这个词用的是同一招的行内版。
背景 #808080 时 |128−255| = 127,输出还是中灰。
这一节的容器加了 isolation: isolate。顶栏被切出层叠上下文,退化成普通白色。
父级带 opacity<1 / transform / filter 也是同样结果。
demo 的配色排版是占位 —— 抄机制,不抄样式(库规范铁律 6)