Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kilka CSS-ow, czy jeden?
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
erix
Jak, wedlug Was, lepiej zagniezdzac style w dokumencie?
  • jeden arkusz ze wszystkimi definicjami jakie wystepuja na stronie
  • klika dolaczanych w zaleznosci od podstrony
sf
zalezy jak lezy, jak wygodniej, czasem tak czasem siak, przewaznie robie jeden, ale zdarzylo mi sie, ze bylo 7 bo to byla najlepsza koncepcja, grunt to myslec ;]
siemakuba
jak napisał @sf, ile głów tyle koncepcji. wybierzesz sam.

moje podejście:
- strona www ma elementy wspólne na każdej podstronie - chociażby osadzenie layoutu czy jakieś główne menu, więc common.css z tym wszystkim
- jeżeli np. strona główna wygląda inaczej niż kolejne, daje index.css + subpage.css
- jeżeli jakaś podstrona ma wiele elementów które odróżniają ją od innych, dostaje własny css, np. gallery.css
- zdarza mi się używać ConditionalComments dla IE, więc bywa też ie.css

wszystko śmiga fajnie i bezproblemowo. zbudowałem mini loader styli, wiec z poziomu php daje np. LoadStyle('index'); Dzięki temu na stronie głównej nie mam informacji o stylach potrzebnych do galerii, bo: a) nie są mi tam potrzebne, b) po co obciążać usera koniecznością pobierania niepotrzebnych danych?

pozdr.

eee, czyli odpowiadając na twoje pytanie - zdecydowanie klika dołączanych zależnie od podstrony :)
erix
@siemakuba, o to mi dokladnie chodzilo...
xarr
A ja uskuteczniam 1 styl do 1 medium.
Pamietajcie, że każde dołączanie pliku styli .css to dodatkowe wysłanie nagłówka i pobranie pliku, co zabiera stosunkowo sporo czasu.
Można potestować i zobaczyć czasy. Chyba tylko w jakiś skrajnych wypadkach includowanie wielu .css jest szybsze, jezeli wogole. A co do wygody... ja mam 1 wielki css i poruszam sie w nim dosyc sprawnie. Mysle, ze to kwestia wprawy i stosowanej konwencji nazewniczej + struktury dokumentu xhtml.

@edit: aha, pomijam oczywiscie kwestie dostosowywania www np: do Netscape4, ale to juz chyba na inny temat smile.gif
mike
Cytat(xarr @ 2006-05-13 12:21:34)
Pamietajcie, że każde dołączanie pliku styli .css to dodatkowe wysłanie nagłówka i pobranie pliku, co zabiera stosunkowo sporo czasu.

Z kolei Ty pamiętaj ze plik .css jest ściagany podczas pierwszego żądania strony.
Potem już nie tongue.gif
xarr
Tak, ale to nie zmienia wiele. Chyba najwazniejsze w wiekszosci wypadkow jest pierwsze wejscie na www, wiec zassanie all. Sporo w sieci jest o optymalizowaniu kodu. Polecam porobienie ewentualnie wlasnych testow (jezeli sie nie ufa innym) ile to takie wysylanie naglowkow moze zabrac czasu. Tymabardziej jezeli sa to zabiegi zbedne smile.gif
siemakuba
@xarr - w sytuacji gdy struktura serwisu jest mocno rozbudowana, lepiej chyba załadować 5 odpowiednich plików css, każdy po załóżmy 200 linii niż jeden wielgachny zbiorczy css, który ma tych linii odpowienio więcej bo mamy w nim informacje o stylach których nie używamy na konkretnej podstronie.
Dodatkowo, dla mnie wiele arkuszy = wygoda i łatwość modyfikacji.

Cytat
Mysle, ze to kwestia wprawy i stosowanej konwencji nazewniczej + struktury dokumentu xhtml.
Dokładnie jak napisałeś, wszystko zależy od przyzwyczajenia do wypracowanych schematów - nie ma tu rozwiązania idealnego dla wszystkich.

pozdr.
Jarod
Cytat(siemakuba @ 2006-05-13 09:07:35)
zbudowałem mini loader styli, wiec z poziomu php daje np. LoadStyle('index'); Dzięki temu na stronie głównej nie mam informacji o stylach potrzebnych do galerii, bo: a) nie są mi tam potrzebne, cool.gif po co obciążać usera koniecznością pobierania niepotrzebnych danych?


Po co Ci ten loader? Jak to nie masz informacji o stylach na stronie głównej? Nie wiem czy dobrze Cię zrozumiałem.
xarr
Zakladajac poprawnie semantycznie utworzony dokumencik + sytuacja, ze podstrony nie sa oddzielnymi podserwisami ilosc styli nie jest kosmicznie wielka. Jeszcze zalezy jak ty te definicje styli zapisujesz w pliku. Ja uskuteczniam 1 linie na definicje, a nie podzial, dosyc czesto stosowany, zakladajacy rozbijanie na wiele linii:
Kod
h1{costam:costam ....}

zamiast
Kod
h1{
costam:costam
...
}


To oczywiscie kwestia gustu, ale ja wchodzac do takiego css odnajduje szybko interesujacy mnie element po nazwie, a sam plik nie rozciaga mi sie w dol, w nieskonczonosc, co nie sprzyja jego edycji. Poza tym widze tez ladnie sama strukture, co po czym dziedziczy itd. Kolejny plus to brak niepotrzebnych przestrzeni, wiec i rozmiar pliku mniejszy smile.gif

To sa w wiekszosci niuanse, a relatywne korzysci wynikajace ze stosowania takiej czy innej metody w czasach kiedy szybkie lacza zaczynaja dominowac nawet w naszym kraju zdaja sie schodzic na dalszy plan. Ja mam nalecialosci jeszcze z pisania dla modemowcow i tak sie przyzwyczailem. Nie mniej jednak lubie minimalizm w kodzie i jak najmniej srodkow do osiagniecia danego celu smile.gif
sf
Wczytanie pliku css jest NIEZAUWAZALNYM nakladem. Ludzie ogladaja w sieci filmy, a tutaj mowa o tym, ze malusi pliczek to jakas optymalizacja, no LOL tongue.gif
xarr
@sf: Nie ludzie tylko ja. Masz racje i dzisiaj mozna w wiekszosci wypadkow pomijac takie pierdoly, bo tak to chyba mozna powoli nazywac. Jak jednak, ktos chce nawet te ulamki sekund oszczedzac to... ma prawo i nawet wiecej, powinien. Kwestia tylko checi i innego myslenia. Ja przykladam duza wage do warstwy prezentacji, a poza tym takie pisanie sprawia mi frajde. Stad nie pisze o jakis zaleceniach, czy cus, a poprostu o wlasnych nawykach. Kazdy ma wlasny mozg i napewno z latwoscia sobie dokona wyboru czy mu sie cos oplaca, czy nie. smile.gif

@edit: chyba eot bo to zaczyna wchodzic w lekkiego offtopica smile.gif Jak cos to zapraszam do polemiki w innym miejscu np: pw smile.gif
erix
ale czy jeden wielki css ma sens powiedzmy, przy rozbudowanym serwisie?

Kazdy dzial ma jakies swoje wstawki, jest w sumie ich troche, a gosc wchodzi na gora dwie trzy...

Czy to nie byloby marnotrawstwo?
siemakuba
Cytat
Po co Ci ten loader? Jak to nie masz informacji o stylach na stronie głównej? Nie wiem czy dobrze Cię zrozumiałem.

@J4r0d: nie dobrze :P na stronie głównej mam informacje o stylach potrzebnych na stronie glownej. Nie mam tam informacji o stylach potrzebnych gdzie indziej (np. galeria). Po co mi loader? w duuuuzym uproszczeniu: dla wygody :)

@erix: to chyba nie kwestia sensu tylko przyzwyczajen, zalozen, potrzeb, nazwij to jak chcesz. w 99% przypadkow nie jest to kwestia takiej wielkiej wagi zeby trzeba bylo roztrzasac to straszliwie. Postaw na wygodę pisania :)
erix
loader -> chyba bylby najbardziej uzyteczny w przypadku zastosowan AJAX-owskich.

Wygoda pisania? Nie zawsze... Czasami CSS moze miec i paredziesiat kilo, ale w sumie zyjemy w czasach ekspansji szerokopasmowek... Coz, przyzwyczajenie do modemu biggrin.gif

Zawsze pozostaje wysylanie arkusza przez php i Zlib biggrin.gif
xarr
Jezeli mowimy o sytuacji jaka przedstawilem wyzej, czyli serwis, ktorego podstrony nie sa oddzielnymi serwisami to wg. mnie ciezko mowic o zbednych znacznikach, bo wszystkie mozesz wykorzystac w zaleznosci od tego, co na danej podstronie przedstawiasz. Wlasciwie tylko wtedy, gdy masz diametralnie inny uklad elementow na www moga Ci dochodzic linijki odpowiedzialne za bloki, z ktorych nie zawsze korzystasz. Ale przy tym samym formatowaniu calej reszty sa to ledwie linijki smile.gif

@erix: jak juz pisalem wyzej mozesz sobie porobic testy ladowania wielu plikow css i jednego duzego. To tak apropo szerokopasmowek smile.gif

...wogole to sporo o tym w sieci jest, wiec jesli ktos naprawde jest ciekaw to sprawdzi temat i przetestuje dla swojego serwisu, bo takie wymiany pogladow raczej nikogo nie przekonaja. Tymbardziej, ze ten problem dzisiaj juz zdaje sie byc bardziej szukaniem problemu na sile i czyms abstrakcyjnym. Tak czy inaczej polecam mimo wszystko 1 arkusz dla 1 medium 1 serwisu (ewentualnie kolejne dopasowujace www do starszych browserow w stylu nn4).

Thx i pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.