Generator animiranega robnega preliva CSS
Ustvarite gladko vrteč se rob z mavričnim prelivom, ki pravilno upošteva robni radij, zgrajen z @property, conic-gradient in mask-composite – kopirajte pravi CSS in ga opazujte vrtenje v živo.
🔒 V celoti obdelano v vašem brskalniku – nič, kar tukaj vnesete, ni nikoli naloženo.
Rezultat
Vrteč se mavrični rob deluje preprosto, dokler ga ne poskusite zgraditi v CSS-ju: animiranje kota znotraj conic-gradient() z navadno lastnostjo po meri ne naredi ničesar uporabnega, ker brskalnik ne ve, da je vrednost kot, in ne more interpolirati med 0deg in 360deg – samo preskoči. Ta generator uporablja pravo rešitev, API lastnosti in vrednosti CSS: `@property --border-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }` brskalniku natančno pove, kakšno vrsto vrednosti lastnost po meri hrani, kar omogoča gladko, grafično pospešeno interpolacijo prek pravila @keyframes.
Sam obroč je psevdoelement ::before, velikostno večji od okvira (zamik za minus širino roba) z ozadjem, nastavljenim na `conic-gradient(from var(--border-angle), ...)`, ki se zanka nazaj na prvo barvo, tako da preliv nima vidnega šiva. Maska nato opravi pravo oblikovanje: `mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude;` ohrani samo razliko v obliki obroča med padding-box in content-box, trdni pravokotnik preliva pa zavrže povsod drugje. Starejša Safarijeva `-webkit-mask-composite: xor` izvede enako operacijo in je zapisana skupaj s standardno lastnostjo, tako da se učinek dosledno upodablja, namesto da bi na enem pogonu tiho odpovedal.
Podpora robnemu radiju ni poznejši dodatek – `border-radius: inherit` na psevdoelementu pomeni, da se kakršen koli radij, ki ga nastavite na okviru, samodejno prenese na obroč, tako da gumb v obliki tablete ali zaobljena kartica dobi zaobljen svetleč rob in ne ravnih robov, ki štrlijo iz ukrivljenih vogalov. Preizkusite v živo: povlecite drsnik radija od ostrega pravokotnika do popolne tablete in opazujte, kako obroč sledi obliki na vsakem koraku – to je podrobnost, ki loči dejansko izvedbo te tehnike od ponarejenega posnetka zaslona.
Vse ostalo na strani se neposredno preslika v generirano kodo: drsnik širine je debelina obroča in zamik/odmik psevdoelementa, drsnik trajanja je trajanje animacije @keyframes, stikalo za smer samo obrne predznak končnega kota ključne sličice (+360deg ali -360deg), vsaka barvna postaja pa je z vejico ločen vnos znotraj klica conic-gradient(). Vse skupaj teče v vašem brskalniku brez slik, brez animacijske zanke, ki bi jo poganjal JavaScript, in brez zunanjih storitev – kopirajte blok CSS in vrtenje se nadaljuje, kamor koli ga prilepite.