ugrás a tartalomhoz

Több, vagy kevesebb css fájl?

Szelev71 · 2006. Feb. 10. (P), 19.20
Sziasztok!

Sajnos nem tudtam erre rákeresni, és lehet, hogy elég buta kérdés, de nem vagyok profi.

Egy weboldalon mit érdemes inkább tenni? Egy css fájlban az összes elemet definiálni, és mindig ezt "meghívni", még ha nagyobb is lesz a mérete?
Vagy inkább funkciók, felhszanálás stb. szerint csoportosítani az elemeket és külön-külön fájlban elhelyezni őket, majd mindenhol csak azt hivatkozni, amelyik éppen kell.
Ez számít-e abban, hogy mennyire terheli le a szervert, egyáltalán van-e ennek érdemi jelentőége? Pl. együtt 10k, szétválogatva pedig 3,4k nagyságú fájloknál.

Köszi
Szelev71
 
1

Egybe

Jano · 2006. Feb. 10. (P), 20.01
Tedd egybe. 10K nem nagy meret.
Ha szetszeded darabokra, akkor minden egyes oldal letolteskor az osszes CSS fajlra megfog hivni egy lekerest a bongeszo, hogy van-e frissebb valtozat mint ami nala le van tarolva. Ilyenkor ha nem kell leszedni a fajlt, akkor is a valasz vissza erteig kicsit keslelteti a letoltest. Meg persze a szerverednek is folosleges lekereseket okoz.
2

Köszi!

Szelev71 · 2006. Feb. 10. (P), 20.28
Köszi szépen, már állok is neki újra összerakni egybe. "Okosan" szétszedtem, hogy szép tagolt legyen, de gyanús volt, hogy meg kell kérdezni. Inkább később, mint... :-)

Bocs még egy kérdés: igaz ez a javascript fájlokra is?
3

Link

attlad · 2006. Feb. 10. (P), 22.23
http://weblabor.hu/blog/20060129/cssjstomorites
9

Egybe, de

Bártházi András · 2006. Feb. 11. (Szo), 14.03
Alapvetően egyetértek, viszont kiegészíteném azzal, hogy volt már olyan portál, ahol én külön vettem. A különvétel alapja azonban nem például az oldalváz - megjelenés tengely mentén történt, hanem rovatonként. Egy oldalon az esetek 99%-ban két-három odavágó CSS fájl töltődött le. Így az oldallekéréseknél nincs túl sok extra lekérés, viszont a CSS fájlok egy része csak akkor töltődik le, ha arra a felhasználónak szüksége van, nem mindjárt mindent megkap a címlapon. A CSS fájlok méretét illetően 50k is előfordul, ezért gondolom indokoltnak a szétbontást.

-boogie-
10

Elkéstem

Bártházi András · 2006. Feb. 11. (Szo), 14.09
Látom a 7-es hozzászólásban Jano már kifejtette ezt a kérdést. A rovatonkénti különvétel esetén én is azt értem, hogy van egy alap, amit a rovat további dolgokkal kiegészít.

-boogie-
4

<Nincs cím>

suexID · 2006. Feb. 10. (P), 22.44
Nem vagyok jártas a böngészők gyorsítótárazási technikáiban, de ha használtál már Firefoxot akkor biztos ismerős a jelenség, hogy néha Ctrl + F5-tel kell szugerálni, hogy egy megváltozott CSS fájlt letöltsön újra. Már csak ebből a szempontból is jobb ha egy fájlt használsz, így legalább apróbb módosításoknál sem lesznek széteső oldalak. Remélem nem fogalmaztam nagyon ködösen, nem állt szándékomban! :D
5

fejlesztés és éles rendszer

Jano · 2006. Feb. 11. (Szo), 00.01
Simán megtehető, hogy amíg fejleszt az ember addig a HTML kódba a style elemmel teszi be a CSS-t, illetve ha segíti a fejlesztést akkor akár külön fájlokat kezel. Az éles rendszerre pedig összemásolja egy külön fájlba.
6

Már csaknem értem. :-(

Szelev71 · 2006. Feb. 11. (Szo), 10.43
Tehát ha jól értem pl:

Adott: egy.html, tartozzon hozzá kizárólag 1db egy.css és 1db egy.js fájl mindennel bennük, amit az egy.html megkíván.

Mikor a következő fájl készül: ketto.html hozzá legyen 1db ketto.css és 1db ketto.js
mindennel amit a ketto.html igényel.

Érdemes-e betenni egy fájlba az egy.css-t és a ketto.css-t mondjuk egy common.css-be, (és js is) vagy ez már fölöslegesen letölt mindentt, ami nem is szükséges éppen.

Esetleg jó, ha mindig egybe vannak rakva, mert a böngésző látva, hogy ugyanazt a forrást kell keresnie -még ha nagyobb is- nem kezdi letölteni újra, tehát csökken a szerver terhelése, és gyorsul a letöltés, mert az egyszer letöltött nagyobb fájlban megtalál később mindent.

Bocs, de nem sikerült pontosan megfogalmaznom az első kérdést, de már így is sokat tanultam.
Szelev71
7

Egybe vagy külön

Jano · 2006. Feb. 11. (Szo), 11.38
Mondok egy konkrét példát:

Legyen egy portál oldal ami áll egy nyitólapból, az írásokat, cikkeket tartalmazó belső lapokból és egy fórumból.

Az első megoldás, hogy mind a 3 fajta oldalnak külön CSS fájlt készítünk és a 3 template fájlhoz kapcsoljuk. Ez igy elég felesleges, mert az oldalakon lesznek ismétlödő részek (legalább a fejléc) amikhez tartozó CSS részleteket akkor mind a 3 fájlba újra és újra szerepeltetni kell. Ez felesleges.

Másik megoldás, hogy mind a 3 tipusú oldalhoz tarozó szabályt egy nagy CSS fájlba rakunk. Ha ezt egy olyan felhasználó felől nézzük aki soha nem szokott fórumozni, akkor neki feleslegesen töltődnek le a fórum CSS részei.
Vagy mondhatjuk azt, hogy egy első látogatónak a nyitólap letöltését feleslegesen lassítja a majd csak később (esetleg) használandó fórum dolgai. (Cseébe később gyorsabb lesz.)

Harmadik megoldás: Részben közös, részben elkülönülő fájlok (1). Pl: a nyitó lap és a belső oldalak és a fórummal közös részek CSS szabályait tartalmazza egy fájl, a fórum szabályokat egy másik. A nyitólapon és belső lapon csak a közös CSS van belinkelve, a fórum oldalakon pedig 2.
Ezt akkor érdemes megjátszani, ha a fórumhoz tartozó CSS viszonylag nagy.

Negyedik megoldás:Részben közös, részben elkülönülő fájlok (2). A minden oldalon használt közös dolgok egy alap CSS fájlban vannak, ez minden oldalra be van linkelve. Aztán a nyitólapnak, belső oldalaknak és a fórumnak a saját de a közösön felüli dolgai egy-egy CSS fájlban vannak és az alapon kivul a megfelelo oldalra ez van belinkelve másodikként.
Elvileg ez jo modszer, mert mindig csak annyi szabaly toltodik be ami tenyleg kell. DE: itt is kompromisszumot kell majd kotni: lehet, hogy vannak olyan szabalyaink amik a nyitolapon es belso oldalon kozosek de a forumon már nem. Ekkor lehetne lepcsozetesen tovabb vinni a logikat csak akkor mar igy nezne ki pl a nyitolaphoz linkeles alap.css, nyito-belso-kozos.css, nyito.css es lassan elszalad a lo...

Mondtunk itt olyanokat, hogy nagy, meg késlelteti a letöltést. Egy általad említett 10K-s fájl nem számít nagynak. Meg kell nézni, hogy minden más dolog amit le kell tölteni HTML, képek mekkora méretűek.
8

Értem! :-)

Szelev71 · 2006. Feb. 11. (Szo), 12.31
Köszi szépen, most már világos.
A jövőre nézve nagyon jó, hogy elmagyaráztad egy pédán keresztül is. Most még 10k-nál, inkább elhelyezek mindent egybe, mert ez tényleg nem egy nagy méret.
Persze majd ha komolyabb feladatot találok, akkor nagyon jó lesz amit itt elmondtál(tatok), mert eleve így tudom majd kialakítani a szerkezetet.

Nagyon köszi még egyszer!
Szelev71