CSS slinkties juostos generatorius
Nustatykite slinkties juostos plotį, foną, slankiklį ir užvedimo spalvą, o tada greta pamatykite tikrą „WebKit“ rezultatą ir realų „Firefox“ rezultatą – dvi iš esmės skirtingas naršyklių sistemas vieną šalia kitos.
🔒 Visiškai apdorojama jūsų naršyklėje – niekas, kurį čia įvedėte, niekada neįkeliama.
Rezultatas
„Chrome“, „Safari“ ir „Edge“ stilių slinkties juostoms taiko naudodamos ::-webkit-scrollbar pseudo-elementų šeimą: atskiros taisyklės fonui, slankikliui ir slankiklio užvedimo būsenai, plius tikslus plotis pikseliais ir slankiklio border-radius. „Firefox“ visa tai visiškai ignoruoja ir vietoj to skaito dvi standartines savybes – scrollbar-width ir scrollbar-color, kurios vėliau atsirado CSS slinkties juostų specifikacijoje. Tai ne dvi tos pačios funkcijos tarmės – tai du skirtingi funkcijų rinkiniai su skirtingomis galimybių lubomis, ir dauguma slinkties juostų generatorių tyliai užglaisto šią spragą rodydami tik „WebKit“ rezultatą. Šis – ne.
Vieną kartą nustatykite plotį, fono spalvą, slankiklio spalvą, užvedimo spalvą ir slankiklio kampų apvalumą, o įrankis sudaro du taisyklių rinkinius iš tų pačių įvesčių. „WebKit“ blokas apriboja ::-webkit-scrollbar, ::-webkit-scrollbar-track, ::-webkit-scrollbar-thumb ir jo :hover būseną kairiajam demonstraciniam laukeliui, tad tai, ką jame matote, yra būtent tai, ką atvaizduoja „Chrome“, „Safari“ ir „Edge“ – pats naršyklės tikras variklis, o ne imituotas perdengimas. „Firefox“ blokas dešiniajam demonstraciniam laukeliui nustato scrollbar-width ir scrollbar-color naudodamas tos pačios naršyklės variklį, todėl laukelis atrodo kitaip tik tuomet, kai šis puslapis atidarytas būtent „Firefox“; „WebKit“ naršyklėje jis ten rodo savo numatytąją slinkties juostą, ir įrankis tai įvardija, užuot suklastojęs „Firefox“ išvaizdą pasiskolintais pikseliais.
Pločio susiejimas yra ryškiausias spragos pavyzdys: „Firefox“ scrollbar-width priima tik raktinius žodžius auto, thin arba none – niekada tikslaus pikselių skaičiaus. Šis generatorius sąžiningai susieja jūsų pasirinktą plotį (8px ir mažiau tampa thin, viskas plačiau tampa auto) ir parodo gautą raktinį žodį greta jūsų įvesties, užuot išgalvojęs netikrą, pikseliais tikslų „Firefox“ rezultatą, kurio nėra. „Firefox“ taip pat neturi galimybės nustatyti atskiros užvedimo spalvos, nepriklausomo slankiklio border-radius ar fono spalvos, kuri nėra tik antroji scrollbar-color reikšmė – tai nuolatiniai, realūs platformos apribojimai, o ne šio įrankio trūkumai.
Nukopijuokite sudėtinį CSS bloką ir abu taisyklių rinkiniai keliauja kartu, kiekvienas po savo komentaru, paruošti įklijuoti į stilių failą tokie, kokie yra. Viskas atvaizduojama ir atnaujinama jūsų pačių naršyklėje vos tik pajudinate valdiklius – jokių įkėlimų, jokios paskyros, jokių serverio užklausų, o puslapiui įsikrovus veikia ir be interneto.