{"id":249488,"date":"2022-12-31T09:06:00","date_gmt":"2022-12-31T06:06:00","guid":{"rendered":"https:\/\/inform.click\/responsiivisten-verkkosivustojen-tekeminen-toimiviksi\/"},"modified":"2022-12-31T09:06:00","modified_gmt":"2022-12-31T06:06:00","slug":"responsiivisten-verkkosivustojen-tekeminen-toimiviksi","status":"publish","type":"post","link":"https:\/\/inform.click\/fi\/responsiivisten-verkkosivustojen-tekeminen-toimiviksi\/","title":{"rendered":"Responsiivisten verkkosivustojen tekeminen toimiviksi"},"content":{"rendered":"<p>\n  Oli aika, jolloin pystyit luotettavasti erottamaan p\u00f6yt\u00e4tietokoneen verkkosivun mobiilisivusta. Itse asiassa niin paljon, ett\u00e4 koko toimiala kasvoi ty\u00f6p\u00f6yt\u00e4sivustojen uudelleenk\u00e4yt\u00f6n ymp\u00e4rille mobiililaitteille.\n<\/p>\n<p>\n  Jonkin aikaa et ollut kukaan, jos sinulla ei ollut erillist\u00e4 mobiilisivustoa erillisess\u00e4 verkkotunnuksessa. Sitten asiat alkoivat muuttua.\n<\/p>\n<p>\n  Mobiilin\u00e4yt\u00f6t paranivat huomaamatta. Samoin mobiiliselaimet. Tabletit heittiv\u00e4t yht\u00e4l\u00f6\u00f6n toisen elementin. 4G tuli mukaan. Retina-n\u00e4yt\u00f6t tarjosivat uusia selkeyden tasoja loppuk\u00e4ytt\u00e4jille.\n<\/p>\n<p>\n  Yht\u00e4kki\u00e4 p\u00f6yt\u00e4koneen ja mobiililaitteen v\u00e4linen raja n\u00e4ytti ep\u00e4selv\u00e4lt\u00e4.\n<\/p>\n<p>\n  Samaan aikaan p\u00f6yt\u00e4tietokoneiden n\u00e4ytt\u00f6jen koko ja resoluutio vaihteli.\n<\/p>\n<p>\n  Ja kasvava p\u00e4\u00e4ns\u00e4rky verkkosuunnittelijoille.\n<\/p>\n<p>\n  Takana olivat ajat, jolloin piti ottaa huomioon vain kourallinen kuvaportin kokoa. Asiat muuttuivat monimutkaisiksi.\n<\/p>\n<p>\n  Onneksi apua oli saatavilla mediakyselyjen ja reagoivan suunnittelun konseptin muodossa.\n<\/p>\n<p>\n  Mediakyselyiden ansiosta tyylej\u00e4 ja asettelua \u2013 jopa sis\u00e4lt\u00f6\u00e4 \u2013 oli mahdollista vaihdella k\u00e4ytt\u00e4j\u00e4n n\u00e4kym\u00e4n leveyden ja n\u00e4yt\u00f6n resoluution mukaan. Mediakyselyt eiv\u00e4t tietenk\u00e4\u00e4n ole ainoa ty\u00f6kalu reagoivan suunnittelijan temppupussissa, mutta on reilua sanoa, ett\u00e4 ne muodostavat tekniikan perustan.\n<\/p>\n<p>\n  T\u00e4m\u00e4 oli loistava uutinen mobiililaitteille. Responsiivinen suunnittelu tarkoitti, ett\u00e4 pystyit toimittamaan tehokkaasti saman sivuston eri versioita eri laitteille. Kaikki ilman erillist\u00e4 mobiilisivustoa eri verkkotunnukselle.\n<\/p>\n<h4>\n  Ent\u00e4 suorituskyky?<br \/>\n<\/h4>\n<p>\n  Sivuston omistajat alkavat ymm\u00e4rt\u00e4\u00e4, ett\u00e4 loppuk\u00e4ytt\u00e4j\u00e4t v\u00e4litt\u00e4v\u00e4t suorituskyvyst\u00e4. Etenkin v\u00e4hitt\u00e4iskauppiaat alkavat ymm\u00e4rt\u00e4\u00e4, ett\u00e4 millisekuntien latauksen poistaminen voi johtaa miljooniin taseeseen.\n<\/p>\n<p>\n  Onneksi responsiiviset sivustot tarjoavat yhden selke\u00e4n suorituskyvyn edun omistautuneisiin mobiiliserkkuihinsa verrattuna: uudelleenohjaus mobiiliverkkotunnukseen on eliminoitu.\n<\/p>\n<p>\n  T\u00e4st\u00e4 huolimatta responsiivinen suunnittelu on kuitenkin onnistunut saamaan jonkin verran mainetta huonosta suorituskyvyst\u00e4.\n<\/p>\n<p>\n  Jollain tapaa t\u00e4m\u00e4 on melko ep\u00e4reilua, mutta on syyt\u00e4 tarkastella ylim\u00e4\u00e4r\u00e4isi\u00e4 suorituskykyhaasteita, joita reagoiva suunnittelu aiheuttaa varomattomille\u2026\n<\/p>\n<h5>\n  Kuvat<br \/>\n<\/h5>\n<p>\n  Kuvatiedostot ovat suuria. Ja koska ne ovat suuria, ne ovat usein syyllisi\u00e4 hitaisiin latausaikoihin. Siksi ne ovat hyv\u00e4 paikka aloittaa jokaiselle, joka yritt\u00e4\u00e4 optimoida sivuston suorituskyky\u00e4.\n<\/p>\n<p>\n  Valitettavasti yksi ensimm\u00e4isist\u00e4 ratkaisuista kuvien toimittamiseen responsiivisesti ei ollut loistava suorituskyvyn kannalta.\n<\/p>\n<p>\n  Tekniikka on ihanan yksinkertainen. K\u00e4yt\u00e4 vain enimm\u00e4isleveytt\u00e4: 100 % varmistaaksesi, ett\u00e4 kuvat skaalautuvat sis\u00e4lt\u00e4v\u00e4n elementin leveyteen:\n<\/p>\n<pre><code>img\n{\nmax-width: 100%;\n}<\/code><\/pre>\n<p>\n  Kun s\u00e4ili\u00f6 kutistuu sopimaan pienempiin kuvaportteihin, kaikki sis\u00e4ll\u00e4 olevat kuvat kutistuvat sen mukana. Helppo!\n<\/p>\n<p>\n  Mutta siin\u00e4 on ongelma. Kuvan koko saattaa pienenty\u00e4 n\u00e4yt\u00f6ll\u00e4, mutta tiedoston koko pysyy samana. T\u00e4m\u00e4 on kaukana ihanteellisesta suorituskyvyn n\u00e4k\u00f6kulmasta. Saatat l\u00e4hett\u00e4\u00e4 800 x 800 pikselin kuvan johtoa pitkin vain, jotta se n\u00e4ytet\u00e4\u00e4n 80 x 80 pikselin\u00e4: toisin sanoen saatat l\u00e4hett\u00e4\u00e4 satoja (tai tuhansia) tarpeettomia tavuja. Sen lis\u00e4ksi, ett\u00e4 kuvan lataaminen kest\u00e4\u00e4 kauan, kaikki n\u00e4m\u00e4 ylim\u00e4\u00e4r\u00e4iset tavut voivat kuluttaa loppuk\u00e4ytt\u00e4j\u00e4n arvokasta datam\u00e4\u00e4r\u00e4\u00e4.\n<\/p>\n<p>\n  T\u00e4m\u00e4 ei kuitenkaan ole ainoa \u2013 eik\u00e4 edes paras \u2013 tapa tuottaa responsiivisia kuvia. Ensinn\u00e4kin kuva, joka toimii 800 pikseli\u00e4 leve\u00e4n\u00e4, ei v\u00e4ltt\u00e4m\u00e4tt\u00e4 toimi yht\u00e4 hyvin t\u00e4m\u00e4n koon eri murto-osilla.\n<\/p>\n<p>\n  T\u00e4m\u00e4n ratkaisemiseksi voit k\u00e4ytt\u00e4\u00e4 mediakysely\u00e4 kuvan eri versioiden n\u00e4ytt\u00e4miseen n\u00e4ytt\u00f6portin koosta riippuen k\u00e4ytt\u00e4m\u00e4ll\u00e4 mediakysely\u00e4 ja n\u00e4ytt\u00f6\u00e4: ei mit\u00e4\u00e4n.\n<\/p>\n<p>\n  <strong>CSS:<\/strong>\n<\/p>\n<pre><code>@media (min-width: 601px) {\n#croppedImage\n{\ndisplay:none;\n}\n}\n@media (max-width: 600px) {\n#largeImage\n{\ndisplay:none;\n}\n}<\/code><\/pre>\n<p>\n  <strong>HTML:<\/strong>\n<\/p>\n<pre><code>&lt;img id=\"largeImage\" width=\"400\" height=\"400\" alt=\"\" src=\"images\/largeImage.webp\" \/&gt;\n&lt;img id=\"croppedImage\" width=\"200\" height=\"200\" alt=\"\" src=\"images\/croppedImage.webp\" \/&gt;<\/code><\/pre>\n<p>\n  N\u00e4in voit n\u00e4ytt\u00e4\u00e4 kuvan eri versioita saman kuvan eri kokojen sijaan. Se ei kuitenkaan v\u00e4henn\u00e4 tavujen m\u00e4\u00e4r\u00e4\u00e4. Itse asiassa sivun kokonaiskoko on suurempi, koska kaikki kuvat ladataan riippumatta siit\u00e4, n\u00e4ytet\u00e4\u00e4nk\u00f6 ne vai eiv\u00e4t.\n<\/p>\n<p>\n  Parempi vaihtoehto \u2013 jos se on k\u00e4yt\u00e4nn\u00f6llist\u00e4 \u2013 on k\u00e4ytt\u00e4\u00e4 taustakuvia elementtien sijaan. <code>&lt;img src=\"https:\/\/inform.click\/wp-content\/uploads\/2024\/11\/inform.click\" \/&gt;<\/code>T\u00e4m\u00e4 on suositeltavaa, koska CSS:ss\u00e4 viitatut kuvat ladataan vain, jos niit\u00e4 k\u00e4ytet\u00e4\u00e4n (niin kauan kuin ne eiv\u00e4t ole data-URI:ita):\n<\/p>\n<pre><code>@media (min-width: 601px) {\n#largeImage\n{\nwidth:400px;\nheight:400px;\nbackground-image:url(\/images\/largeImage.webp);\n}\n#croppedImage\n{\ndisplay:none;\n}\n}\n \n@media (max-width: 600px) {\n#croppedImage\n{\nwidth:200px;\nheight:200px;\nbackground-image:url(\/images\/croppedImage.webp);\n}\n#largeImage\n{\ndisplay:none;\n}\n}<\/code><\/pre>\n<p>\n  T\u00e4m\u00e4 toimii hyvin: vierailijat lataavat vain tarvitsemansa kuvat, milloin ja milloin he tarvitsevat niit\u00e4. Ongelmana on, ett\u00e4 se on ep\u00e4siisti ja k\u00e4sittelee sis\u00e4lt\u00f6\u00e4 tehokkaasti tyylin\u00e4. Sellaisenaan se saattaa aiheuttaa yll\u00e4pidett\u00e4vyysongelman ja saattaa my\u00f6s johtaa siihen, ett\u00e4 hakukoneet j\u00e4tt\u00e4v\u00e4t huomioimatta t\u00e4rkeit\u00e4 kuvia.\n<\/p>\n<p>\n  Mikset sen sijaan k\u00e4ytt\u00e4isi SVG:t\u00e4 (skaalautuva vektorigrafiikka): kuvamuoto, joka skaalautuu luonnostaan? SVG-kuvilla on my\u00f6s se etu, ett\u00e4 ne on helppo muotoilla CSS:n avulla (katso <a href=\"http:\/\/tympanus.net\/codrops\/2014\/08\/19\/making-svgs-responsive-with-css\/\" target=\"_blank\" rel=\"noopener\">t\u00e4m\u00e4 loistava opetusohjelma<\/a> SVG-tiedostojen tekemisest\u00e4 reagoiviksi CSS:n avulla). T\u00e4m\u00e4 sopii mainiosti kuvakkeille ja logoille, mutta valitettavasti et voi k\u00e4ytt\u00e4\u00e4 SVG-tiedostoja valokuviin \u2013 n\u00e4it\u00e4 varten sinun on turvauduttava rasterimuotoihin, kuten JPEG.\n<\/p>\n<p>\n  Toinen vaihtoehto on k\u00e4ytt\u00e4\u00e4 yht\u00e4 useista JavaScript-ratkaisuista reagoivien kuvien toimittamiseen. T\u00e4m\u00e4 on suosittu tapa tehd\u00e4 se, mutta se lis\u00e4\u00e4 toisen kerroksen monimutkaisuutta. Lis\u00e4ksi koska JavaScript est\u00e4\u00e4 DOM-rakentamisen, mik\u00e4 tahansa JavaScripti\u00e4 k\u00e4ytt\u00e4v\u00e4 ratkaisu voi hidastaa render\u00f6inti\u00e4. Joten vaikka siell\u00e4 on joitain eritt\u00e4in fiksuja laajennuksia, vain lis\u00e4\u00e4m\u00e4ll\u00e4 JavaScriptin yht\u00e4l\u00f6\u00f6n, olet jossain m\u00e4\u00e4rin alistumassa pienemp\u00e4\u00e4n kahdesta pahasta.\n<\/p>\n<p>\n  Viime aikoihin asti n\u00e4m\u00e4 olivat ainoat vaihtoehdot.\n<\/p>\n<p>\n  Nyt kuitenkin elementit ja <code>&lt;source \/&gt;<\/code>sek\u00e4 attribuutit srcset ja sizes tuovat vihdoin todella reagoivia kuvia verkkoon. Uusi spesifikaatio alkaa my\u00f6s saada selaintukea, sill\u00e4 se tukee t\u00e4ysin Chromea ja Operaa ja tukee resoluution vaihtoa Safarissa. Kunnes muut selaimet saavat kiinni, on olemassa erinomainen JavaScript- <a href=\"https:\/\/scottjehl.github.io\/picturefill\/\" target=\"_blank\" rel=\"noopener\">polyfill<\/a>.\n<\/p>\n<p>\n  T\u00e4ss\u00e4 rohkeassa uudessa maailmassa voit k\u00e4ytt\u00e4\u00e4 srcseti\u00e4 luettelon kuvista, joista selain voi valita. Voit sitten k\u00e4ytt\u00e4\u00e4 mediakysely\u00e4 sizes-attribuutissa m\u00e4\u00e4ritt\u00e4\u00e4ksesi koon, jolla kuva n\u00e4ytet\u00e4\u00e4n. K\u00e4ytt\u00e4m\u00e4ll\u00e4 elementti\u00e4 yhdess\u00e4 mediakyselyjen kanssa yhden tai useamman elementin sis\u00e4ll\u00e4, voit m\u00e4\u00e4ritt\u00e4\u00e4 erilaisen kuvaalueen eri olosuhteisiin (esim. tiettyyn leveyteen asti k\u00e4yt\u00e4 kuvaa a, b tai c ja suurempiin kuvaportteihin kuvaa. x, y tai z). T\u00e4m\u00e4 on hy\u00f6dyllist\u00e4, jos sinun on toimitettava kuvasta rajattu versio k\u00e4ytt\u00e4jille, joilla on pieni n\u00e4ytt\u00f6.\n<\/p>\n<p>\n  Tarkat yksityiskohdat uuden syntaksin k\u00e4yt\u00f6st\u00e4 eiv\u00e4t kuulu t\u00e4m\u00e4n artikkelin piiriin, mutta l\u00f6yd\u00e4t erinomaisen opetusohjelman osoitteessa <a href=\"http:\/\/alistapart.com\/article\/responsive-images-in-practice\" target=\"_blank\" rel=\"noopener\">alistapart<\/a>.\n<\/p>\n<p>\n  Ehk\u00e4 t\u00e4m\u00e4n uuden m\u00e4\u00e4rityksen ainoa haittapuoli on, ett\u00e4 se on melko pitk\u00e4veteinen, mik\u00e4 voi tarkoittaa paisunutta HTML-koodia sivuilla, joilla on paljon kuvia. Edut ovat kuitenkin paljon suuremmat kuin haitat.\n<\/p>\n<h5>\n  Ladataan CSS:\u00e4\u00e4, jota et (v\u00e4ltt\u00e4m\u00e4tt\u00e4) tarvitse<br \/>\n<\/h5>\n<p>\n  Vaikka mediakyselyiden avulla voit soveltaa erilaisia \u200b\u200bCSS-s\u00e4\u00e4nt\u00f6j\u00e4 m\u00e4\u00e4ritt\u00e4miesi kriteerien mukaan, loppuk\u00e4ytt\u00e4jien on ladattava kaikki mahdollisesti sovellettavat CSS-sy\u00f6tteet. T\u00e4m\u00e4 pit\u00e4\u00e4 paikkansa, vaikka laittaisit CSS:n erillisiin tiedostoihin ja asetat mediakyselysi\n<\/p>\n<link \/>elementtiin.\n<p>\n  Esimerkiksi molemmat seuraavat tyylisivut ladataan n\u00e4kym\u00e4n leveydest\u00e4 riippumatta:\n<\/p>\n<link rel=\"stylesheet\" media=\"(max-width: 600px)\" href=\"css\/style1.css\" \/>\n<pre>\n<\/pre>\n<link rel=\"stylesheet\" media=\"(min-width: 601px)\" href=\"css\/style2.css\" \/>\n<p>\n  <code>T\u00e4m\u00e4 ei ole selainvirhe. Mediakyselyiss\u00e4 k\u00e4ytetyt kriteerit liittyv\u00e4t usein asioihin, jotka muuttuvat sivulla k\u00e4ynnin aikana. Vierailija voi esimerkiksi p\u00e4\u00e4tt\u00e4\u00e4 muuttaa selainikkunan kokoa tai k\u00e4\u00e4nt\u00e4\u00e4 tablettiaan\/mobiililaitettaan. Tuloksena olevan n\u00e4yt\u00f6n muutoksen pit\u00e4isi olla saumaton, ja toisen CSS-tiedoston pyynn\u00f6n laukaiseminen ei olisi kaikkea muuta kuin ihanteellinen. T\u00e4m\u00e4 p\u00e4tee erityisesti mobiililaitteisiin, jotka pyrkiv\u00e4t sulkemaan radiolinkit mahdollisimman pian akun virran s\u00e4\u00e4st\u00e4miseksi. Mahdollisesti linkin luominen uudelleen, kun n\u00e4kym\u00e4n koko muuttuu, voi olla huono uutinen akun k\u00e4ytt\u00f6i\u00e4n kannalta.<\/code>\n<\/p>\n<p>\n  <code>Chrome pyrkii kuitenkin k\u00e4sittelem\u00e4\u00e4n n\u00e4it\u00e4 eri tiedostoja \u00e4lykk\u00e4\u00e4sti. Vaikka kaikki tiedostot ladataan, vain tiedosto, jolla on t\u00e4ll\u00e4 hetkell\u00e4 vastaava mediakysely, est\u00e4\u00e4 render\u00f6innin. Kaikki muut latautuvat alhaisemmalla prioriteetilla.<\/code>\n<\/p>\n<p>\n  <code>Valitettavasti muut selaimet eiv\u00e4t ole yht\u00e4 velvoittavia. Esimerkiksi Firefoxissa k\u00e4ytt\u00e4m\u00e4tt\u00f6m\u00e4t CSS-tiedostot eiv\u00e4t vain est\u00e4 hahmonnusta \u2013 ne est\u00e4v\u00e4t my\u00f6s sivun muiden objektien lataamisen.<\/code>\n<\/p>\n<p>\n  <code>Alla oleva vesiputouskaavio havainnollistaa asiaa. T\u00e4m\u00e4n sivun kuvat eiv\u00e4t ala latautua ennen kuin k\u00e4ytt\u00e4m\u00e4t\u00f6n CSS-tiedosto on ladattu kokonaan:<\/code>\n<\/p>\n<p>\n  <code>Voit kiert\u00e4\u00e4 t\u00e4m\u00e4n lataamalla CSS:n ehdollisesti JavaScriptill\u00e4, mutta kuten olemme jo n\u00e4hneet, JavaScriptill\u00e4 on omat suorituskykykustannukset.<\/code>\n<\/p>\n<h5>\n  <code>Mit\u00e4 t\u00e4m\u00e4 kaikki tarkoittaa reagoivan sivuston ja mobiilisivuston suorituskyvylle?<\/code><br \/>\n<\/h5>\n<p>\n  <code>Responsiivisen sivuston mobiilik\u00e4ytt\u00e4jien ja ty\u00f6p\u00f6yt\u00e4k\u00e4ytt\u00e4jien on ladattava sama CSS.<\/code>\n<\/p>\n<p>\n  <code>Ja sit\u00e4 tulee olemaan enemm\u00e4n kuin vain p\u00f6yt\u00e4koneille tai mobiililaitteille suunnitellulla sivustolla.<\/code>\n<\/p>\n<p>\n  <code>Lis\u00e4ksi omistettu mobiilisivusto k\u00e4ytt\u00e4\u00e4 todenn\u00e4k\u00f6isemmin kevyemp\u00e4\u00e4, kevennetty\u00e4 versiota ty\u00f6p\u00f6yt\u00e4tietokoneiden CSS:st\u00e4 (vaikka t\u00e4m\u00e4 on ehk\u00e4 v\u00e4hemm\u00e4n totta nyt, kun k\u00e4ytt\u00e4j\u00e4t odottavat entist\u00e4 monipuolisempaa kokemusta entist\u00e4 kehittyneemmilt\u00e4 mobiilin\u00e4yt\u00f6ilt\u00e4).<\/code>\n<\/p>\n<p>\n  <code>Jos muut asiat ovat samat, n\u00e4ytt\u00e4\u00e4 silt\u00e4, \u200b\u200b\u200b\u200bett\u00e4 jokin v\u00e4itteess\u00e4 on, ett\u00e4 reagoiva sivusto on todenn\u00e4k\u00f6isesti hitaampi kuin mobiilisivusto vaadittavan ylim\u00e4\u00e4r\u00e4isen CSS:n vuoksi. Kuitenkin niin kauan kuin suunnittelijat ovat tietoisia mahdollisista karikoista, heid\u00e4n pit\u00e4isi pysty\u00e4 luomaan nopeasti latautuvia tyylisivuja reagoivalle sivustolle. Erityisesti on hyv\u00e4 idea:<\/code>\n<\/p>\n<ul>\n<li>\n    <code>V\u00e4lt\u00e4 tietojen URI:iden k\u00e4ytt\u00f6\u00e4 kuville \u2013 binaariset taustakuvat ladataan (normaalisti) vain, jos\/kun niit\u00e4 tarvitaan, mutta kaikki data-URI:t ladataan siit\u00e4 huolimatta.<\/code>\n  <\/li>\n<li>\n    <code>pid\u00e4 se kevyen\u00e4 \u2013 koska kaikki CSS on ladattava, on t\u00e4rke\u00e4\u00e4 olla tehokas. T\u00e4m\u00e4 tarkoittaa p\u00e4\u00e4llekk\u00e4isyyksien v\u00e4ltt\u00e4mist\u00e4 ja sen varmistamista, ett\u00e4 globaalit s\u00e4\u00e4nn\u00f6t asetetaan mediakyselyyn perustuvan CSS:n ulkopuolelle.<\/code>\n  <\/li>\n<\/ul>\n<h5>\n  <code>RESS (responsiivinen verkkosuunnittelu + palvelinpuolen komponentit)<\/code><br \/>\n<\/h5>\n<p>\n  <code>RESS on reagoivan ja mukautuvan suunnittelun hybridi, jossa k\u00e4ytt\u00e4j\u00e4agentti haistelee palvelimella asiakaslaitteen ominaisuuksien tarkastelemiseksi ja sille sopivan sis\u00e4ll\u00f6n toimittamiseksi.<\/code>\n<\/p>\n<p>\n  <code>Jos yksi responsiivisen suunnittelun vastalauseista on, ett\u00e4 siihen sis\u00e4ltyy kaiken sis\u00e4ll\u00f6n toimittaminen kaikille laitteille, miksi et lievent\u00e4isi t\u00e4t\u00e4 leikkaamalla osan sis\u00e4ll\u00f6st\u00e4 pois mahdollisuuksien mukaan?<\/code>\n<\/p>\n<p>\n  <code>T\u00e4ss\u00e4 voi olla paljon j\u00e4rke\u00e4. Jos tied\u00e4t kuvan, jota et koskaan halua n\u00e4ytt\u00e4\u00e4 laitteissa, joiden n\u00e4ytt\u00f6 on tietyn koon alapuolella, et voi yht\u00e4 hyvin olla l\u00e4hett\u00e4m\u00e4tt\u00e4 sit\u00e4 kyseisiin laitteisiin, mik\u00e4 s\u00e4\u00e4st\u00e4\u00e4 kaistanleveytt\u00e4 ja lyhent\u00e4\u00e4 latausaikaa.<\/code>\n<\/p>\n<p>\n  <code>Lis\u00e4ksi, jos k\u00e4yt\u00e4t mediakyselyit\u00e4, joiden tied\u00e4t, ett\u00e4 ne eiv\u00e4t voi olla tyydytt\u00e4vi\u00e4 tietyill\u00e4 laitteilla, on olemassa ainakin perustelu CSS:n erottamiselle eri tiedostoiksi ja niiden ehdolliseen lataamiseen.<\/code>\n<\/p>\n<p>\n  <code>On syyt\u00e4 pit\u00e4\u00e4 mieless\u00e4, ett\u00e4 t\u00e4m\u00e4 koko prosessi ei ole \"ilmainen\" suorituskyvyn kannalta. Jotkin ty\u00f6t on luonnollisesti suoritettava palvelimella, mik\u00e4 vie aikaa \u2013 luultavasti ei tarpeeksi painamaan etuja, mutta se on syyt\u00e4 olla tietoinen.<\/code>\n<\/p>\n<h5>\n  <code>Tuomio<\/code><br \/>\n<\/h5>\n<p>\n  <code>Ovatko reagoivat sivustot hitaita?<\/code>\n<\/p>\n<p>\n  <code>Riippuu mit\u00e4 tarkoitat hitaalla.<\/code>\n<\/p>\n<p>\n  <code>Onko nopein reagoiva sivusto todenn\u00e4k\u00f6isesti hitaampi kuin nopein mobiilisivusto, jonka voit tehd\u00e4?<\/code>\n<\/p>\n<p>\n  <code>Todenn\u00e4k\u00f6isesti.<\/code>\n<\/p>\n<p>\n  <code>Olemme my\u00f6s n\u00e4hneet, ett\u00e4 on olemassa muutamia sudenkuoppia. Jos et ole varovainen, k\u00e4ytt\u00e4j\u00e4t on helppo pakottaa lataamaan paljon ylim\u00e4\u00e4r\u00e4isi\u00e4 kuvia ja CSS:\u00e4\u00e4, mik\u00e4 tekee reagoivasta sivustosta paljon hitaampaa kuin sen pit\u00e4isi olla.<\/code>\n<\/p>\n<p>\n  <code>Sen ei kuitenkaan tarvitse olla niin. On t\u00e4ysin mahdollista luoda responsiivinen sivusto, joka on aivan niin nopea kuin se on ja tarjoaa erinomaisen k\u00e4ytt\u00f6kokemuksen. Ja kun sek\u00e4 standardit ett\u00e4 selaimet alkavat saada umpeen sit\u00e4, mit\u00e4 kehitt\u00e4j\u00e4t haluavat tarjota, sen pit\u00e4isi alkaa helpottamaan.<\/code>\n<\/p>\n<p>\n  <code>&lt;\/p&gt;\n&lt;p&gt;<\/code>\n<\/p>\n<div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\n  <code>: &lt;a target=\"_blank\" rel=\"noopener nofollow\" data-pssr=\"\" href=\"http:\/\/www.instantshift.com\/2015\/09\/07\/making-responsive-websites-perform\/\"&gt;instantshift.com&lt;\/a&gt;<\/code>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Oli aika, jolloin pystyit luotettavasti erottamaan p\u00f6yt\u00e4tietokoneen verkkosivun mobiilisivusta. Itse asiassa niin paljon, ett\u00e4 koko toimiala kasvoi ty\u00f6p\u00f6yt\u00e4sivustojen uudelleenk\u00e4yt\u00f6n ymp\u00e4rille mobiililaitteille. Jonkin aikaa et ollut kukaan, jos sinulla ei ollut erillist\u00e4 mobiilisivustoa erillisess\u00e4 verkkotunnuksessa. Sitten asiat alkoivat muuttua. Mobiilin\u00e4yt\u00f6t paranivat huomaamatta. Samoin mobiiliselaimet. Tabletit heittiv\u00e4t yht\u00e4l\u00f6\u00f6n toisen elementin. 4G tuli mukaan. Retina-n\u00e4yt\u00f6t tarjosivat uusia selkeyden tasoja loppuk\u00e4ytt\u00e4jille. Yht\u00e4kki\u00e4 p\u00f6yt\u00e4koneen ja mobiililaitteen v\u00e4linen raja n\u00e4ytti ep\u00e4selv\u00e4lt\u00e4. \u2026<\/p>\n","protected":false},"author":1,"featured_media":222114,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[53,196],"tags":[],"class_list":["post-249488","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-ja-wordpress-2","category-web-suunnittelu"],"_links":{"self":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts\/249488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/comments?post=249488"}],"version-history":[{"count":0,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts\/249488\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/media\/222114"}],"wp:attachment":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/media?parent=249488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/categories?post=249488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/tags?post=249488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}