- From: Alexander Shpack <shadowkin@gmail.com>
- Date: Tue, 6 Dec 2016 13:33:01 +0200
- To: Andrea Rendine <master.skywalker.88@gmail.com>
- Cc: www-style <www-style@w3.org>
- Message-ID: <CAK4xKXnNFipwkLCanZ+w+nG9KiCnnp+4Qvn5mz6OdgXYxviq9A@mail.gmail.com>
On Tue, Dec 6, 2016 at 12:30 PM, Andrea Rendine <
master.skywalker.88@gmail.com> wrote:
> > Could you explain how it possible?
>
> I think this could be a basic example.
> div:in-view(all) {
> height: 1000px;
> /* or an equivalent property incrementing vertical dimension of the
> element */
> }
> div:in-view(partial), div:in-view(none) {
> height: auto;
> /* reverting to a normal dimension */
> }
> /* this case could also be div:not(:in-view(partial)) */
>
> So:
> 1. the element is fully visible, its height is increased.
>
>
Stop execution. On this frame all other styles shouldn't be applied.
> 2. Its height exceeds the viewport.
> 3. It's now only partially visible.
> 4. So its height is reduced.
> 5. Now it fits the viewport.
> 6. Go back to 1 and restart.
>
> Here's an infinite loop, at least until the user scrolls the page (or
> closes it altogether) in frustration.
>
> Other example:
>
> div:in-view(none) {
> position: fixed;
> }
>
> 1. The element is not visible. Selector applies.
>
2. Now it's the most visible element of all. So selector no longer applies.
> 3. The element goes away in sadness. But stop! Selector applies again!
> 4. The element is confused.
>
>
Wrong example. This selector doesn't react on element visibility, it
operates with coordinates only. Once again, UA should apply this
pseudoclass once per frame. No more.
> Basically, every time a property influences the presence of the
> element in the viewport, it must be checked again. If the element is
> no longer present, other properties might apply, even by default,
> reverting it in a different state.
>
>
Not every time. It's not needed to do it always. Just two events can start
processing: scrolling and future content rearrangement as a finished
statement.
--
s0rr0w
Received on Tuesday, 6 December 2016 11:33:44 UTC