I’m interested, I think this could be extremely useful but I’m seeing some edge cases, mostly with the transition property, i.e.: what happens if there’s a transition on class change, and the element happens to be outside of the viewport? Does the transition happen when that elements enters the viewport again? This can cause some confusion.
I understand the main reason why something like this would be implemented, and I’m a fan of anything that may improve performance, yet I’m not able to completely grasp how a property like this one could work for some edge cases, like I mentioned before.
For animations this could work in a similar manner as the animation-play-state property with a paused value for elements outside the viewport and a value of running for elements that entered/are in the viewport. For linear transitions is a bit trickier, maybe the best way to approach this is to jump directly to the ending state of the transitioned properties if the element is outside the viewport? Doing nothing at all seems like a wrong way to provide a solution, and like I said, animating the transitioned properties once the element has entered the viewport can cause a lot of confusion.