You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**root**|`Element`|`document`| The Intersection Observer interface's read-only root property identifies the Element or Document whose bounds are treated as the bounding box of the viewport for the element which is the observer's target. If the root is `null`, then the bounds of the actual document viewport are used. |
208
208
|**rootMargin**|`string`|`'0px'`| Margin around the root. Can have values similar to the CSS margin property, e.g. `"10px 20px 30px 40px"` (top, right, bottom, left). Also supports percentages, to check if an element intersects with the center of the viewport for example `"-50% 0% -50% 0%"`. |
209
-
|**scrollMargin**|`string`|`'0px'`| Margin around nested scroll containers that clip the target, including the root if it is a scroll container. |
209
+
|**scrollMargin**|`string`|`'0px'`| Margin around nested scroll containers that clip the target. Can have values similar to the CSS margin property, e.g. `"10px 20px 30px 40px"` (top, right, bottom, left). Unlike `rootMargin`, this grows or shrinks every scroll container's clipping rectangle within the root, including the root itself if it is a scroll container.|
210
210
|**threshold**|`number` or `number[]`|`0`| Number between `0` and `1` indicating the percentage that should be visible before triggering. Can also be an array of numbers, to create multiple trigger points. |
211
211
|**onChange**|`(inView, entry) => void`|`undefined`| Call this function whenever the in view state changes. It will receive the `inView` boolean, alongside the current `IntersectionObserverEntry`. |
212
212
|**trackVisibility** 🧪 |`boolean`|`false`| A boolean indicating whether this Intersection Observer will track visibility changes on the target. |
@@ -299,9 +299,14 @@ When using `rootMargin`, the margin gets added to the current `root` - If your
299
299
application is running inside a `<iframe>`, or you have defined a custom `root`
300
300
this will not be the current viewport.
301
301
302
+
If the target is clipped by a scrollable container inside the `root`, use
303
+
`scrollMargin` to change when intersections are calculated for that nested
0 commit comments