flackr / scroll-timeline

A polyfill of ScrollTimeline.
Apache License 2.0
951 stars 92 forks source link

Can't get working in firefox/safari. Am I missing something? #262

Open tettoffensive opened 5 months ago

tettoffensive commented 5 months ago

Am I missing something about how this is supposed to work? I have the following setup which is working in Chrome natively, but I have yet to get either of these to work with the polyfill in Firefox/Safari

index.html:

<head>
...
<script src="https://flackr.github.io/scroll-timeline/dist/scroll-timeline.js"></script>
<style>
      header {
        animation: scroll-shadow linear both;
        animation-timeline: scroll();
        animation-range: 0rem 4rem;
      }

      @keyframes scroll-shadow {
        from {
          box-shadow: none;
        }

        to {
          box-shadow: var(--shadow);
        }
      }

      .sub-header {
        --distance: 10rem;
        --animation-range:
          entry calc(100cqh - var(--scroll-margin, 0px))
          entry calc(100cqh - var(--scroll-margin, 0px) + var(--distance));
        animation: fade-in linear both;
        animation-timeline: view();
        animation-range: var(--animation-range);                  
      }

      @keyframes fade-in {
        from {
          opacity: 0;
          height: 1px;
        }

        to {
          opacity: 1;
          height: auto;
        }
      }
</style>
</head>
tettoffensive commented 5 months ago

Looks like it's related to some of the parsing. It looks like if I change "rem" to "px" the top one works.

I'm not quite sure the best way to do the other one as I'm guessing cqh isn't supported.