CSS: n on läpäistävä suhteellisen monimutkainen putki, aivan kuten HTML ja JavaScript. Selaimen on ladattava tiedostot palvelimelta ja siirry sitten jäsentämiseen ja käyttämiseen Dom. Optimoinnin äärimmäisen tason vuoksi tämä prosessi on yleensä melko nopea - pienemmille verkkohankkeille, jotka eivät perustu puitteisiin, CSS muodostaa yleensä pienen osan resurssien kokonaiskulutuksesta.
Kehykset järkyttävät tätä tasapainoa. Sisällytä JavaScript Gui-pino, kuten jquery UI ja katsella CSS-, JS- ja HTML-kokoja Skyrocket. Usein kehittäjät tuntevat yleensä purppuran viimeisen - istuessaan voimakkaan kahdeksan ydinosaamisen takana T3 Internetissä, kukaan ei välitä nopeudesta. Nämä muutokset meneville tai CPU-rajoitettuja laitteita tulevat pelaamaan.
CSS: n optimointi edellyttää moniulotteista lähestymistapaa. Vaikka käsin kirjoitettu koodi voidaan ohittaa erilaisilla tekniikoilla, puitekoodi meneillään käsin on tehoton. Näissä tapauksissa automatisoidun minimisoittimen avulla tuottaa parempia tuloksia.
Seuraavat vaiheet vievät meidät matkalle CSS-optimoinnin maailman kautta. Ei jokainen voi olla suoraan sovellettavissa projekteihisi, mutta pidä ne mielessä. Haluatko jotain yksinkertaisempaa? Kokeile a Verkkosivuston rakentaja .
Nopein CSS-lauseke on sellainen, joka ei koskaan saa jäsennetään. Käyttämällä lyhyitä lausekkeita, kuten alla esitetty marginaali ilmoitus, vähentää radikaalisti CSS-tiedostojen kokoa. Paljon ylimääräisiä lyhyitä lomakkeita löytyy Googling 'CSS Shorthand'.
P {marginaali: 1px;
marginaali-oikeus: 2px;
Margin-pohja: 3PX;
marginaali vasemmalle: 4px; }
p {marginaali: 1px 2px 3px 4px; }
Elimateroitumattomien osien poistaminen merkitsee ilmeisesti aiheuttaa valtavia nopeusvoitteita. Googlen Chrome-selaimella on tämä toiminto pois laatikosta. Siirry vain katsomaan & GT; Kehittäjä & GT; Kehittäjätyökalut ja avaa lähteet-välilehti viimeisimmässä versiossa ja avaa komentovalikko. Tämän jälkeen valitse Näytä kattavuus ja juhla silmäsi peittoanalyysikunnassa, jossa korostetaan käyttämättömän koodin nykyisessä verkkosivulla.
Line-by-line-analyysin läpiviennin ei välttämättä ole mukava. Chromen Web Performance Audit palauttaa samanlaiset tiedot - yksinkertaisesti avaa se työkalupalkista, näkymä & gt; Kehittäjä & GT; Kehittäjätyökalut & GT; Tarkastukset ja anna sen ajaa. Kun olet valmis, luettelo ongelmallisista elementeistä avautuu.
Muista, että CSS: n automaattinen analyysi voi aina johtaa virheisiin. Suorita perusteellisen testin koko verkkosivustosta, kun olet vaihtanut CSS-tiedostoja kaivettujen kanssa - ei koskaan tiedä, mitä virheitä optimoija aiheutti. Ja eteenpäin, kunnollinen sivujen ylläpito voi auttaa sinua rautaa sivuston rypyt.
Ulkopuolisten tyylitaulukkojen lataaminen maksaa aikaa latenssin vuoksi - kukaan muistaa "epäsyloidun sisällön" salama "? Koodin kriittisin bittiä voi siis mennä otsikkokoodiin. Varmista, ettet kuitenkaan liioittele sitä. Muista, että koodin on myös luettava ihmisillä, jotka suorittavat huoltotöitä.
& lt; html & gt;
& lt; pää & gt;
& lt; tyyli & gt;
.blue {väri: sininen;}
& lt; / tyyli & gt;
& lt; / head & gt;
& lt; body & gt;
& lt; div luokka = "sininen" & gt;
Hei maailma!
& lt; / div & gt;
@import lisää rakenteen CSS-koodisi. Valitettavasti edut eivät ole ilmaisia: tuonti voi olla pesä, jäsentää ne rinnakkain, ei ole mahdollista. Rinnakkaisempi tapa käyttää sarjaa & lt; linkki & gt; Tunnisteet, jotka selain voivat hakea kerralla.
@IMPORT URL ("A.CSS");
@IMPort URL ("b.css");
@IMPort URL ("c.css");
V & lt; Link Rel = "Stylesheet" href = "a.css" & gt;
& lt; Link Rel = "Stylesheet" href = "b.css" & gt;
& lt; link rel = "stylesheet" href = "c.css" & gt;
Vuosia sitten joukko puolivalmiita PNG: t, joilla voit luoda läpikuultavia vaikutuksia verkkosivustoihin, olivat yleisiä. Nykyään CSS-suodattimet tarjoavat resurssien säästävän vaihtoehdon. Esimerkiksi tämän vaiheen mukana oleva katkelma varmistaa, että kyseinen kuva näkyy harmaasävyisenä versiona itsessään.
img {
-WebKit-suodatin: harmaasävy (100%); / * vanha
Safari * /
Suodatin: harmaasävy (100%);
}
Yleinen viisaus opettaa, että kuusinumeroinen väri kuvaajat ovat tehokkain tapa ilmaista värejä. Tämä ei ole tapaus - joissakin tapauksissa lyhytaikaiset kuvaukset tai värit voivat olla lyhyempiä.
Kohde {tausta-väri: #ffffff; }
kohde {tausta: #fff; }
CSS tukee monenlaisia yksiköitä ja numeroformaatteja. Ne ovat kiitollinen tavoite optimointiin - sekä jälkikäteen että seuraavat nollat voidaan poistaa, kuten alla olevassa pätkimuksessa on osoitettu. Muista myös, että nolla on aina nolla ja että ulottuvuuden lisääminen ei lisää arvoa sisältäviin tietoihin.
Pehmuste: 0.2EM;
marginaali: 20.0em;
Avalue: 0px;
Pehmuste: .2EM;
Marginaali: 20EM;
Avalue: 0;
Tämä optimointi on jonkin verran kriittinen, koska se vaikuttaa koodin muutoksiin. CSS: n määrittelyssä voit jättää viimeisen puolipisteen kiinteistöryhmässä. Koska tämän optimointimenetelmän saavuttamat säästöt ovat vähäisiä, mainitsemme tämän pääasiassa niille, jotka työskentelevät automatisoidulla optimerilla.
p {
. . .
Fontti-koko: 1.33EM
}
Useiden pienten spriittien lataaminen on tehotonta protokollan yleiskustannusten vuoksi. CSS Spritit yhdistävät sarjan pieniä kuvia yhdeksi suureksi PNG-tiedostoksi, joka sitten rikkoutuu CSS-sääntöjen kautta. Kuten TexturePacker Yksinkertaista luomisprosessia suuresti.
.Odownload {
Leveys: 80px;
Korkeus: 31px;
Tausta-asema: -160px -160px
}
.download: hover {
Leveys: 80px;
Korkeus: 32PX;
Tausta-asema: -80px -160px
}
Yksi siisti tapa lisätä suorituskykyä käyttää CSS-standardin erikoisuutta. Numeeriset arvot ilman yksikön oletetaan olevan pikselit - PX: n irrottaminen säästää kaksi tavua jokaiselle numerolle.
H2 {padding: 0px; marginaali: 0px;}
H2 {padding: 0; Marginaali: 0}
Analyysi on osoittanut joitain tunnisteita kalliimpiin kuin toiset. Tämän vaiheen mukana oleva luettelo katsotaan olevan erityisen suorituskykyä - Vältä niitä, kun heille annetaan mahdollisuus tehdä niin.
Raja-RADIUS
laatikko
muuttaa
suodattaa
: nth-lapsi
Paikka: kiinteä;
Jne.
Whitespace - Ajattele välilehdet, kuljetuspalvelut ja välilyönnit - tekee koodin helpommaksi lukea, mutta palvelee vähän tarkoitusta parserin näkökulmasta. Poista ne ennen toimitusta. Vielä parempi tapa merkitsee tämän työn siirtämistä Shell Scriptille tai vastaavalla laitteelle.
Kommentit eivät myöskään ole tarkoitus kääntäjälle. Luo oma parser poistaa ne ennen toimitusta. Ei vain, että pelastaa kaistanleveyttä, mutta se myös varmistaa, että hyökkääjät ja klonerit ovat vaikeampaa ymmärtämään käsillä olevan koodin taustalla.
Yahoo-käyttäjäkokemusryhmä loi sovelluksen, joka käsittelee monia pakkaustehtäviä. Se toimittaa jar-tiedostona, täällä , ja sitä voidaan käyttää JVM: n kanssa.
Java -Jar YuicMpressor-X.Y.Z.jar
Käyttö: Java -Jar Yuicompressor-X.Y.Z.jar
[Valinnat] [Syöttötiedosto]
Maailmanlaajuiset vaihtoehdot
-h, --help näyttää tämän
tiedot
- tyyppinen & lt; JS | CSS & GT; Määrittää
Syöttötiedoston tyyppi
Pitäisikö sinun integroida tuote solmuksi.js, vierailu npmjs.com/package/yuicompressor . Huonosti ylläpidetty arkisto sisältää joukon kääretiedostoja ja JavaScript API.
var kompressori = vaatia ('Yuicompressor');
Kompressor.comPress ('/ polku / /
tiedosto tai merkkijono JS ', {
// Kompressorin vaihtoehdot:
Charset: "UTF8",
Tyyppi: "JS",
Vaikka CSS-valintaryhmän suorituskyky ei ole läheskään yhtä kriittinen kuin muutamia vuosia sitten (ks. Resurssi), SASS, kuten SASS, joskus lähetetään erittäin monimutkainen koodi. Tutustu tulostustiedostoihin aika ajoin ja ajattele tapoja optimoida tulokset. Sai tuloksia jakaa tiimin kanssa? Pidä tiedostoja jakamattomina pilvivarasto .
Vanhat sanat väittää, että nopein tiedosto on sellainen, joka ei koskaan saa lähettää johdot. Selaimen välimuistipyyntöjen tekeminen saavuttaa tämän tehokkaasti. Valitettavasti välimuistin otsikoiden asetukset on tehtävä palvelimella. Tee hyvä käyttö kuvakaappauksissa esitettyihin näihin työkaluihin - ne tarjoavat nopean tavan analysoida muutoksiasi.
Suunnittelijat eivät useinkaan pidä välimuistia johtuen tulevista muutoksista. Siistillä tavalla ongelman ympärillä on myös tiedostoja tiedostonimellä. Valitettavasti tämän vaiheen mukana olevassa koodissa esitetty järjestelmä ei toimi kaikkialla, kun jotkin valtakirjat kieltäytyvät välimuistin tiedostoista "dynaamisilla" poluksilla.
& lt; Link Rel = "Stylesheet" href = "style.css? V = 1.2.3" & gt;
CSS: n optimointi on vain osa peliä. Jos palvelin ei käytä HTTP / 2 ja GZIP-pakkausta, paljon aikaa menetetään tiedonsiirron aikana. Onneksi näiden kahden ongelman vahvistaminen on yleensä yksinkertainen. Esimerkissämme esitetään muutaman tweaksin yleisesti käytetylle Apache-palvelimelle. Jos löydät itsesi toiseen järjestelmään, ota yhteys palvelinasiakirjoihin.
Pico /etc/httpd/conf/httpd.conf
AddOutputFilterbytype deflate Text / HTML
AddoutputFilterbytype deflate Text / CSS
Tämä artikkeli on alun perin julkaistu julkaisussa 282 Creative Web Design Magazine Nettisivujen suunnittelija . Osta numero 282 täällä tai Tilaa Web-suunnittelija tähän .
Aiheeseen liittyvät artikkelit:
(Kuva luotto: Renaud Rohlinger) Parallax-selauspaikat ovat edelleen suosittuja syystä: he luovat miellyttävän ja h..
(Kuva luotto: Negatiivinen tila Pexeleissä) Vaikka reagoi on tehokas JavaScript-kirjasto, se ei sisällä kaikkia ka..
Jos et ota varotoimia JavaScript-koodisi kanssa, teet elämästä helppoa kaikille, jotka haluavat kloonata sitä. Mutta jos ohje..
Voit tehdä paljon CSS: llä - ehkä enemmän kuin luulisi - mutta kunnioitettava tyylitietokieli on rajoituksia. Modernissa web-..
On olemassa valikoima Taidetekniikat joka voi auttaa digitaalisessa maalauksessa, mutta ei ole kieltämistä ..
Tässä opetusohjelmassa otetaan mekaaninen piirustus lelu etsimään luonnoksen inspiraationa ja pyrkimys toteuttaa nämä omina..
Kokopäiväisenä freelancer, olen tottunut työskentelemään eri tyylejä ja Piirustustekniikat . Näihin kuuluv..