FAQ |
Kalender |
2010-09-28, 17:15 | #1 | ||
|
|||
Nykomling
|
Ska man optimera en sajt, så uppmanas man ju ofta att ha så få http requests som möjligt, exempelvis minska antalet CSS-filer. Men borde inte det ultimata vara att ha inbäddad CSS, och inga länkade?
I läroböcker tas det upp att man ska ha länkat, men detta hänvisar ju då till en teknologi där man har olika html-sidor där det då är dålig standard att bädda in CSS eftersom samma innehåll laddas gång efter gång och inte cachas. Men för dynamiska CMS, så är det ju inte en massa olika html-sidor, utan till exempel en index.php som ens mall etc är uppbyggd av. Så innebär det att man bör köra på inbäddad CSS? |
||
Svara med citat |
2010-09-28, 17:33 | #2 | |||
|
||||
Bara ett inlägg till!
|
Du vill inte att samma innehåll ska behöva läsas in flera gånger, därför har du en extern css-fil som kan cachas mellan requesten.
Även om du bara har en index.php som sköter alla anrop så gör du ju flera requests (när du byter sida), och varje gång sidan läser om så gäller samma sak, dvs en extern css-fil cachas, medans html-koden läses om. |
|||
Svara med citat |
2010-09-28, 17:48 | #3 | ||
|
|||
Flitig postare
|
Kort svar, alltid extern css fil förutom vid väldigt speciella omständigheter (exempelvis nyhetsbrev med html). Att ha css koden i html koden är en mycket dålig vana som anses ytterst felaktig, av många skäl.
Däremot får man gärna hålla nere mängden css-filer, många dras ju åt att skapa en helt egen css fil för varje del av koden. |
||
Svara med citat |
2010-09-28, 20:19 | #4 | ||
|
|||
Flitig postare
|
Vad jag läst så ska inbäddad CSS vara långsammare än extern.
|
||
Svara med citat |
2010-09-28, 22:44 | #5 | |||
|
||||
Bara ett inlägg till!
|
inbäddad CSS är INTE långsammare än extern
Ett tillfälle när det faktiskt ÄR befogat att ha CSSen inbäddad är när du har en sajt som bara har en sida, och inte gör postbacks. Då vinner du ju en request på att ha den inbäddad. Antagligen gör det väldigt liten skillnad, så av helt andra skäl skulle jag ändå rekommendera en extern css |
|||
Svara med citat |
2010-09-28, 23:44 | #6 | |||
|
||||
Mycket flitig postare
|
||||
Svara med citat |
2010-09-29, 09:36 | #7 | ||
|
|||
Flitig postare
|
Inbäddad css skapar helt bedrövlig kod, och visar på bristande förståelse för hur en webbplats bör vara uppbyggd.
Sen är det ju också viktigt att skilja på inbäddad och inbäddad. Om vi pratar om riktig inline css, d.v.s. "<p style="font-weight: bold;">Hej</p>" så är det väldigt annorlunda än att sätta ett <style> block i sin header där man anger all css. Bägge är dock fel i 9 fall av 10. God praxis idag är att att inline-css (med stil på enskilda taggar) aldrig bör användas, och om du känner att du måste ha css i html filen så gör det då i ett <style> block, annars blir sidan ett elände av dålig kod som är omöjlig att överblicka. Men en extern fil är alltid bäst ur alla perspektiv, enda nackdelen är att man får läsa in en pytteliten css fil en gång (sedan är den oftast cachad). Undantaget som jag sa tidigare är html-nyhetsbrev via mail, och som Stefan nämnde även om man har 1 sida html (även om det fortfarande är mer korrekt att separera css-koden från html-koden). Och om man nu vill vara så otroligt optimerad att man ska spara in på att skicka en liten css fil, så är det ofta det sista på listan. Dålig, uppsvälld kod, tillsammans med javascript filer, och bilder utan rätt komprimering m.m. är ofta 100ggr större bovar om man vill optimera sin sida än den externa css-filen som faktiskt är korrekt beteende. Den enda inline-css koden som skapas idag kommer från personer som använder diverse dåliga WYSIWYG-editorer, eller lärde sig webbutveckling på 90-talet (och slutade lära sig där!). |
||
Svara med citat |
Svara |
|
|