PDA

Pogčedajte punu verziju : Arhitektura CSS fajlova


nixa
29. 06. 2006., 00:37
Jako dobar text (http://www.digital-web.com/articles/architecting_css/) o toj temi ...

Komentari ili jos bolje vaše metode ?

ivanhoe
29. 06. 2006., 02:03
ja obicno napravim jedan CSS fajl gde stavim manje vise sve.. unutar tog fajla pravila organizujem tako da su mi na pocetku globalna podesavanja, pa onda redom dodajem specificna pravila za pojedine strane (redom kako pravim strane, sto obicno opet prati neku moju logiku)...svi hackovi idu zasebno, obicno na kraj fajla...

onda jos komentarima oznacim logicke delove da bih mogao da se kod skrolovanja brzo snadjem gde je sta... i to je to..

Mozda i nije najprefinjeniji pristup, ali tako mi je mnogo lakse da se snadjem, nego da jurim po 10 fajlova gde je sta, i sta ima uticaj na sta... ovako sa par bookmarka na bitne delove fajla moze vrlo brzo da se radi...

Ilija Studen
29. 06. 2006., 08:34
ja obicno napravim jedan CSS fajl gde stavim manje vise sve.. unutar tog fajla pravila organizujem tako da su mi na pocetku globalna podesavanja, pa onda redom dodajem specificna pravila za pojedine strane (redom kako pravim strane, sto obicno opet prati neku moju logiku)...svi hackovi idu zasebno, obicno na kraj fajla...

onda jos komentarima oznacim logicke delove da bih mogao da se kod skrolovanja brzo snadjem gde je sta... i to je to..

Ista priča s tim da ako fajl postane prevelik uzmem i rasparčam ga (obično na rewrites.css, construction.css i forms.css). Sve page specific stilove kasnije dodajel iz same skripte, ne mešam ih sa opštim pravilima.

Nije savršen pristup, ali radi u većini slučajeva sasvim fino.

Dragan Babić
29. 06. 2006., 10:31
Kod mene u posledne vreme, posto konstantno menjam ncin pisanja CSS, ali moze se reci da je vec neko vreme ovako:
1) Reseti
2) linkovi
3) Headings
4) Usefull and reusable classes (.left, .right, .center za slike u glavnom, .clear, .accent, itd.)
5) Main elements (npr. #header, #mainContent, #footer...)
6) Content holders (npr. .recentEntries, svi "sub" elementi koji su potomci glavnih)

Otprilike to je to.

bluesman
29. 06. 2006., 10:46
Ja u poslednje vreme grupisem u najmanje 3 css-a.

1. Osnovni elementi: body, header, main, footer
2. Specificne klase
3. HTML (H1...7, P, Formulari...)

Jednostavno mi je tako lakse da se snadjem i izmenim nesto, pre nego da pretrazujem 1 dugacak CSS, drugih nekih bitnijih razloga nema.

Denis_Radenkovic
29. 06. 2006., 11:00
Sve u jedan fajl sa detaljnim komentarima kako bih znao i ja a i neko drugi sta sam radio posle godinu dana... samo sto sam ovo poceo da praktikujem tek posle prvih godinu dana :)

jasmanac
29. 06. 2006., 11:16
Ja ih najpre grupisem po prikazu. Da li je screen, print ili nesto drugo. Ako je screen onda imam screen.css u koji importujem layout.css, styles.css i browser specific. Onda kada dodje vreme za to samo obrisem import browser specific kod i to je to.

Mada kao sto rece Dragan, cesto se desava da pisem kod na drugacije nacine. Kod mene to zavisi od raspolozenja i vremena koje mu mogu posvetiti.

Dragan Babić
29. 06. 2006., 13:27
Ja trpam sve u jedan CSS fajl iz prostog razloga sto nisam imao prilike da radim na toliko velikim projektima (osim jednog) da je parcane stvarno bilo potrebno, jer bi se u suprotnom ugrozila ekspeditivnost. Iskomentarisem sve uglavnom, nekada cak i pravim ToC ukoliko radim sa programerom ili nisam ja taj koji sklapa sve u finalnu celinu.

Do nedavno sam na primer CSS pisao uvek po stablu (DOMu). Dakle krenem od headera, pa onda potomci headera odmah ispod njega, pa onda sledi na primer glavni sadrzaj i tu odmah svi elementi koji se nalaze u njemu, itd. Samo ova tehnika nije bas najbolja kada imas gomile elemenata i ako je lokacija obimna.
Jedna stvar koja mi je mnogo pomogla u poslednje vreme je identacija (takodje po hijerarhiji), ovako nekako:

ul.mainNav{
list-style:none;
overflow:hidden;
width:100% /* for IE */
}
ul.mainNav li{
float:right;
width:100px;
...
}

jasmanac
29. 06. 2006., 15:42
Pa dobro, identacija se podrazumeva ;)

bluesman
29. 06. 2006., 17:30
sto? :)

0123456789

zextra
29. 06. 2006., 19:41
Samo smireno... :D

bluesman
29. 06. 2006., 20:03
ako mislis na brojanje, ja sam brojao samo da bih popunio 10 karaktera :)

xippi
29. 06. 2006., 23:39
Do nedavno sam na primer CSS pisao uvek po stablu (DOMu). Dakle krenem od headera, pa onda potomci headera odmah ispod njega, pa onda sledi na primer glavni sadrzaj i tu odmah svi elementi koji se nalaze u njemu, itd. Samo ova tehnika nije bas najbolja kada imas gomile elemenata i ako je lokacija obimna.


isti princip samo sto ja ne koristim identaciju. zahteva previse skrolovanja po kodu ;)
lakse mi je kada selektore pisem jedan ispod drugog, narocito kada ima dosta propertyja. uvek koristim crtez na papiru. tu iscrtam boksove i dam im id-ove i klase. posle samo ispisem css redom od vrha html-a pa na dole, dok mi je papiru sta ce se desiti unutar zagrada. identacija ima smisla za js i html, gde pratis funkcije, sta si gde otvorio i slicno. ovde je samo {} :P
selektore trazim po domu, jureci njihov id. lakse mi je kad su ispisani jedan ispod drugog

fajlove delim na logicke celine:
- reset
- layout - generalni izgled sajta, raspored osnovnih elemenata, broj kolona i njihov raspored. ovaj fajl je skoro uvek copy/paste nekog od ranijih projekata
- fajl koji mi je uvek imesajta.css u kome drzim specificna podesavanja elemenata
- typo
- forms
- utils - ovo je doduse jedini fajl u kome koristim identaciju jer sadrzi hackove poput easyclearing, guillotine... samo zbog c/p-a :) u utilsu su mi zebra tabele i slicne stvari
- print

cesto pravim posebne fajlove i za navigaciju. od skoro sam poceo da praktikujem include unutar samog imesajta.css fajla

...a nekad samo skucam sve u jedan fajl. zavisi od velicine projekta i kako sam raspolozen :)