« 1 2 3 »
Autor Zpráva
Aleš Janda
Profil *
[ital]A na to jste prisel jak? Ja o zadnych problemech s externim stylem nevim, naopak vim o spouste vyhod.[/ital]

Mám pocit, že tady pořád melu to samé a na to samé se mě všichni ptají. Viz můj první příspěvek v této diskusi, tam jsou ty problémy dobře napsané.

[ital]Jde o rychlost (stahovani stranek pro uzivatele, predelavani a udrzbu webu pro tvurce) a moznosti rozsireni.[/ital]
Rychlost pro návštěvníky se už diskutovala, pro předělávání je s interními styly ještě rychlejší, možnosti rozšíření stejné.

[ital]Podstatne je oddelit vzhled stranky od struktury informaci.[/ital]
Na straně serveru je tomu tak v obou případech, na straně uživatele pouze v externích stylech (ale to ho většinou nezajímá).

[ital]"Jinými slovy: umíš-li PHP (nebo něco podobného), chceš-li se vyhnout problémům, vkládej styly skriptem. V ostatních případech jsou vhodnější externí styly."
Blbost.[/ital]

Jak pro koho, nevím, co bych k tomu měl ještě říct... :-(
Leo
Profil
Vite, on je rozdil mezi tim, kdyz se posle jen http hlavicka a kdyz se posila treba 10 a vice kilobytu kodu. Nehlede na to, ze se i css soubory daji kesovat tak, aby se ani hlavicka overeni na server neposilala. Na jednu stranu argumentujete tim, ze dotaz jestli neni na serveru cerstvejsi css je zatezi a problemem, ale jednim dechem posilate na kazde strance zbytecne opakovane kilobyty css nesmyslne vlozeneho primo do html. Co se tyka vykresleni stranky be stylu, to dela jen nektery prohlizec a je to jeho chyba, ktera se da osetrit - existuje vic zpusobu jako externi css odkazat. Zustalo vam ve vasem boji proti vsem jeste neco? Leo
Yuhů
Profil
Ve většině věcí souhlasím s Alešem Jandou. A strašně se mi líbí otázka, kterou položil, je vidět, že o tom přemýšlí.

Je tu pár rozdílů, které ale závěry posouvají ve prospěch externích stylů.

a) externí styly se dají opravdu dobře kešovat. Nemusejí se stahovat pokaždé, dokonce se ani nemusejí ověřovat pokaždé. Smutnou pravdou je, že dnes skoro nikdo neumí nastavit kešovací hlavičky správně tak, aby se neposíla požadavek pokaždé, takže Aleš Janda má pravdu, že na dnešním webu externí css mohou hodně zrdžovat. A opravdu zdržují.

Podívejte se ale schválně na expirační hlavičky css souboru připojeného k této stránce!
http://web-sniffer.net/?url=http%3A%2F%2Fdiskuse.jakpsatweb.cz%2Fbb_cl assic_style.css&submit=Submit&http=1.1&gzip=yes&type=GET&ua=Mozilla%2F 4.0+%28compatible%3B+MSIE+6.0%3B+Windows+NT+5.1%3B+SV1%3B+.NET+CLR+1.1 .4322%29+Web-Sniffer%2F1.0.20
Jak vidět, platnost souboru vyprší o vánocích, takže do té doby není potřeba žádná validace a jede to jak z praku. To je můj hlavní argument. Schválně si porovnejte, jak rychle nabíhá tato diskuse oproti jiným diskusním fórům.

Chápu, že to téma kešování je složité, mohu vás odkázat na jeden svůj článek a jeden svůj překlad:
http://www.jakpsatweb.cz/clanky/na-co-stranka-ceka.html
http://www.jakpsatweb.cz/clanky/caching-tutorial-czech-translation.htm l

b) mezi nevýhody interního css se dá započítat nutnost používat PHP. Já třeba skriptování na straně serveru používám dost málo, takže to pro mě roli hraje.

c) Ale jinak je pravda, že se občas vyplatí nechávat styl pouze interní. Já jsem to tak kdysi dělal ve výsledcích vyhledávání na Seznamu, aby nabíhaly rychleji. Google to například tak dělá dodnes.

Fred napsal:
> Mrknul jsem se na seznam, centrum i atlas, všichni mají css v externím souboru, asi vědí proč :-)

Podle mě nemusejí vědět proč. Externí CSS jsem například do Seznamu zavedl já, ale dodnes si nejsem jistý, zda to bylo ve všech případech správně. Jak už jsem zmínil, občas jsem raději celý styl includoval, jak to doporučuje Aleš Janda. Jsem si jistý, že to rychlosti prospělo (zátěži serverů paradoxně také, protože admini mi u externích stylů nedovolili kvůli reklamě nastavit volnější expiraci).

Dodnes o tomhle s Chosem (hlavní html kodér na Seznamu) hodně mluvíme. Když se podíváte na Google, tak tam žádné externí styly nejsou. Podle mého názoru se to dost kladně projevuje na rychlosti.

Ještě pár reakcí na původní příspěvek Aleše Jandy:

> 3) Různé soubory pro různé zařízení

to s externím CSS vůbec nesouvisí. Už šest let používám bez problémů syntaxi @media.

> 1) Než se styly načtou, stránka se zobrazuje rozhozená

to je pravda pouze v Opeře a občas v Exploreru (pokud se styl připojuje přes @import)

> 3) Externí soubor je pořád stejný, nemění se v závislosti na stránce

od toho je samozřejmě tag <style> vložený ještě pod <link>, jak správně připomněla Petra.

Ale jinak fakt super názor. (Škoda, že na sebe Aleš Janda nenechal mail.)
Leo
Profil
"Když se podíváte na Google, tak tam žádné externí styly nejsou. Podle mého názoru se to dost kladně projevuje na rychlosti."

Rychlosti ceho? Leo
Fred
Profil
Škoda, že na sebe Aleš Janda nenechal mail http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=2&topic=87 16
AMD
Profil
Externí jsou lepší už proto, že když si zobrazím kód, tak mám 70% CSS, který mě nezajímá :-)
Aleš Janda
Profil *
ad Leo, Yuhů a)
Jo, možná je to opravdu jen tím, že neumím kešovat. Kouknu se na ten článek o kešování a schválně to zkusím. Nicméně i tak nevím, jestli to bude konečné řešení: jednak se to hůře ladí a jednak se minimálně při prvním vstupu stránka překreslí a to není dobrý "první dojem" :-(

mezi nevýhody interního css se dá započítat nutnost používat PHP. Já třeba skriptování na straně serveru používám dost málo, takže to pro mě roli hraje.
Já PHP používám naprosto vždy, je to totiž mnohem jednodušší (spoustu věcí si zautomatizuju, udělám si na to funkce. Když např. chci změnit všechna relativní URL na absolutní, jen změním 1 řádek). Naopak statická stránka je za příplatek ;-)
To je věc názoru, nicméně ta možnost tu (většinou) je.

Různé soubory pro různé zařízení...
to s externím CSS vůbec nesouvisí.

To jsem nevěděl...

stránka se zobrazuje rozhozená, to je pravda pouze v Opeře a občas v Exploreru
Já používám Operu a občas rozhozená je. A @import se používá nejčastěji...

Škoda, že na sebe Aleš Janda nenechal mail.
Na internetu koluje několik e-mailů, všechny vedou na ales.janda zavináč kyblsoft.cz :-)
Kromě toho, tady ten e-mail normálně nemám kam zadat :-(

Externí jsou lepší už proto, že když si zobrazím kód, tak mám 70% CSS, který mě nezajímá :-)
To je sice pravda, ale jednak nezobrazuješ kód tak často a taky když už si chceš to CSS zobrazit, tak je docela opruz hledat a zadávat tu adresu ;-)
Leo
Profil
"Nicméně i tak nevím, jestli to bude konečné řešení: jednak se to hůře ladí a jednak se minimálně při prvním vstupu stránka překreslí a to není dobrý "první dojem" :-( "

Neni na tom co ladit. Na webovem serveru nastavite nebo se domluvite s adminem aby pro vasi domenu nastavit patricne hlavicky por vsechny css soubory, napriklad. Je to jednorazova zalezitost. Prekresleni stranky je mozna problem v Opere, jinde se da resit nebo nenastava.

"Různé soubory pro různé zařízení...
to s externím CSS vůbec nesouvisí.
To jsem nevěděl... "

Necetl jsem celou diskuzi, ale u externich souboru si je klient (prohlizec, ale treba i robot) nestahuje pokud css neumi. Navic se da elegantne resit treba tiskova verze.

"Kromě toho, tady ten e-mail normálně nemám kam zadat :-( "

Staci se zaregistrovat :-)

Leo
Aleš Janda
Profil
Neni na tom co ladit. Na webovem serveru nastavite nebo se domluvite s adminem aby pro vasi domenu nastavit patricne hlavicky por vsechny css soubory, napriklad. Je to jednorazova zalezitost.

Já myslel když ladím ten web a různě CSS měním, tak ta keš tam dělá docela bordel. Při interních stylech mám (téměř) jistotu, že se změna projeví hned.
A co se týče "domluvení se s adminem", to si radši ty hlavičky pošlu sám. Beztak ty styly mám v php souboru (např. kvůli tomu, že každému prohlížeči posílám jen to, co umí a vlastně ty styly "filtruju").

Staci se zaregistrovat :-)

Té registrace jsem si nikdy nevšiml, dík! :-)
Leo
Profil
"Já myslel když ladím ten web a různě CSS měním, tak ta keš tam dělá docela bordel."

Mate pravdu ze cokoliv si prohlizec pamatuje (kes, cookies, historie, atd.) dela pri vyvojarskem ladeni problemy, ale pokud to kesovani nastavite jen na ostrem serveru, ale na localhostu ne, tak by nemel byt problem.

"Beztak ty styly mám v php souboru (např. kvůli tomu, že každému prohlížeči posílám jen to, co umí a vlastně ty styly "filtruju")."

Ono se i s adminem da nekdy mluvit :-) Pokud to mate jako staticke css soubory (coz je idealni), pak se to v PHP nastavit neda, jen na urovni serveru. Pokud chcete generovat v PHP jiny obsah (css) pro jiny prohlizec MUSITE poslat i http hlavicku Vary, jinak se vam snadno stane, ze se nekde do kese ulozi vysledek a posle spatnemu prohlizeci. Osobne si myslim, ze myslenka zjistovat user-agent a podle toho posilat pokazdy neco jinyho je obecne nejlepsi cesta do pekel, Leo
Yuhů
Profil
> Já myslel když ladím ten web a různě CSS měním, tak ta keš tam dělá docela bordel.

To je samozřejmě svatá pravda. Při ladění samozřejmě doporučuju pracovat s interním stylem ve <style> a </style>. Teprve po odladění to doporučuju převést na externí.

> Já používám Operu a občas rozhozená je. A @import se používá nejčastěji...

to je ale zásadní vlastnost Opery. Někdo to považuje za chybu. Pro mě to je naopak přesně ta vlastnost, kterou na ní oceňuju. Že se mi to vykreslí rychle. Ale fakt není dobrý nápad používat tříprocentní prohlížeč a dělat si podle jeho v zásadě výstředního chování úsudek o zbytku světa.

@import se rozhodně nepoužívá nejčastěji. Link je častější, ale o to nejde. Jde o to, že link používat LZE, a tím ten argument prostě končí.

> Beztak ty styly mám v php souboru (např. kvůli tomu, že každému prohlížeči posílám jen to, co umí a vlastně ty styly "filtruju").

jejda, to opravdu není dobrý nápad! To pak opravdu chce tu hlavičku Vary, jak výše správně zmiňuje Leo. Celý návrh se tím ale zesložiťuje.

A já teď možná začínám tušit, kde je zakopaný pes. Pokud si necháte css soubor doručit od nějakého interpreta, třeba od PHP, tak jej dostanete později. Sice ne o moc, ale ta půlsekunda to být může. Pokud vidíte pomalé načítání v důsledku externího CSS, může se to pak cukat mnohem víc.

Jinak řečeno kdo používá na externí styly PHP, ten je má pomalé.
Leo
Profil
"To pak opravdu chce tu hlavičku Vary, jak výše správně zmiňuje Leo. Celý návrh se tím ale zesložiťuje."

Nehlede na to, ze se pak vzhledem k ruznorodosti user-agent retezcu prakticky vylucuje verejne kesovani, Leo
Aleš Janda
Profil
Pokud chcete generovat v PHP jiny obsah (css) pro jiny prohlizec MUSITE poslat i http hlavicku Vary, jinak se vam snadno stane, ze se nekde do kese ulozi vysledek a posle spatnemu prohlizeci.
Nehlede na to, ze se pak vzhledem k ruznorodosti user-agent retezcu prakticky vylucuje verejne kesovani.

Tak to jsem nevěděl. Koukám, že z oblasti keší mám ještě co dohánět :-(
Používání hacků nebo PHP skriptu je skoro na nové téma...

to je ale zásadní vlastnost Opery. Někdo to považuje za chybu. Pro mě to je naopak přesně ta vlastnost, kterou na ní oceňuju. Že se mi to vykreslí rychle.

To na ní taky oceňuju. Obzvláště u dlouhých tabulek (ceníků atd.). Ale někdy mě to zase štve...

A já teď možná začínám tušit, kde je zakopaný pes. Pokud si necháte css soubor doručit od nějakého interpreta, třeba od PHP, tak jej dostanete později. Sice ne o moc, ale ta půlsekunda to být může.

Aha, tak tohle mě opravdu nenapadlo. Vždycky jsem si říkal, že PHP je něco "děsně rychlého", co se vykoná mnohem dřív než vůbec uživatel začne něco stahovat. Nicméně ta půlsekunda to být klidně může, i když se čeká jen na hlavičku.

No, rozhodně jste mi zadělali na další hloubání... :-) Jeden téměř vyřešený problém jste mi převedli na dva nevyřešené... :-)
Možná není dobré strkat to PHP všude, i když se mi to u stylů (vlastně jako všude) zdá jako krásně "čisté" a jednoduché řešení.
Ale díky :-)

Mimochodem, co je to ta hlavička Vary? Na internetu jsem našel jen kusé informace :-/
halogan
Profil
Aleš Janda
S temi styly, filtrujte je pres podminene komentare, je to jediny spolehlivy zpusob, ktery funguje vsude bez vyjimky. (jeste text/nosense...)
VaclavMacurek
Profil
Pokud styl vkládám přímo do HTML skriptem, můžu se rozhodnout, že nějaký kód dám navíc, nějaký vůbec a nějaký jinak - podle toho, jaká se má zobrazit stránka a jak si to momentálně přeje návštěvník. U statického externího souboru tohle nelze.

Já vytvářím své stránky zatím jenom na hadru a v nejbližší době se nikde neobjeví, i když mám "otevřenou" složku na mujweb a používám externí css soubor. Jenom na několika (asi dvou nebo třech stránkách) mám zadaný nějaký styl přímo v html souboru, ale to proto, že se vyskytuje pouze v jednom - tom konkrétním souboru. Jinak mám (téměř) všechny styly v externím(ch) souboru(ech) - v jednom mám daný základní styly ovlivňující zejména písma, v druhým mám extravagance - zatím změnu obrázku po najetí a display:none
error414-
Profil *
Leo
PHP na styly je jek kanon na vrabce.
Anonymní
Profil *
Pro Aleše: možná, kdyby sis přečetl knížku o CSS od odborníků, tak bys v červenci 2005 neplácal takové hlouposti. Opravdu, téma jak noha.
Aleš Janda
Profil
Pro Aleše: možná, kdyby sis přečetl knížku o CSS od odborníků, tak bys v červenci 2005 neplácal takové hlouposti. Opravdu, téma jak noha.

Já jsem je samozřejmě četl, a hned několik. Nicméně všude byly externí styly brány jako axiom a propojení se serverovými skripty nikdo z autorů ani nezmínil. Je to jasné; málokterá knížka se zabývá styly i skripty zároveň.

Ale přemýšlím (v lednu 2006) ještě nad jiným řešením (a až bude čas, tak ho i udělám) :-)

Styly se pošlou jak interní (výtah ze stylů, které jsou na dané stránce použity), tak externí (ty samé, ale kompletní, žádný výtah jako u interních). To znamená, že tytéž styly se pošlou vlastně dvakrát. Nicméně to se stane jen při první návštěvě (při tom se externí styly vloží do cache).
Při příští návštěvě (podle referer, cookies) se už pošlou jen externí, které musí být v keši. A je to. Stránka se zobrazí nastylovaná vždy s minimálním zpožděním. Paranoici s vypnutým referer i cookies budou načítat více dat, ale v podstatě jen tolik co teď.

Jen mě trochu mrzí, že jednotnými externími styly (byť rozdělenými podle prohlížečů) nepostihnu to, že u stejných tříd mám na různých stránkách různé vlastnosti. Ale to je prasárna, já vím, tak to alespoň odbourám.
To, že externí styly se budou generovat dynamicky (pouze při změně) a nebudu je psát několikrát, snad ani nemusím dodávat...

Řekl bych, že toto bude finální řešení, se kterým budu i spokojen :-)
ax123
Profil
dělal jsem teď web o jen 10-ti stranách, ale protože jsem netušil že jich bude mít deset, počítal jsem se 3 tak jsem dával interní styly, jak já si nadával když se to pak vyšplhalo na 10 stran a já chtěl změnit jen pozadí... tak asi tolik k interním stylům
habendorf
Profil
Aleš Janda: Celé mi to připadá jako pěkná kravina. Jestli ti dobře rozumím, tak ty vlastně chceš šetřit tím, že budeš posílat data duplikovaně.

externími styly (byť rozdělenými podle prohlížečů) - psát různá css pro různé prohlížeče je taky cesta do pekel
jozob
Profil
Ja v tom celom vidím len jednu nevýhodu. A to takú, že pokiaľ ukladám stránku pomocou prehliadača, neuložia sa obrázky, ktoré sú odkazované v CSS (napr.: pozadia a pod.). Tento probém majú len niektoré prehliadače a určite to nie je problém hodný riešenia.

Ostatné problémy pre mňa ani problémy nie sú. Lepšie by bolo možno ak by sa webdesigneri zaujímali napríklad o optimalizáciu obrázkov. Na internete je dnes veľké množstvo neoptimalizovaných obrázkov a to je určite väčší problém, ako jeden HTTP požiadavok navyše.

A čo sa týka dynamického generovania štýlov, prečo neodkazovať na súbor s príponou .php (aby sa parsovalo PHP) a so skriptom na "výrobu" štýlopisu?

A ešte jedna vec mi vŕta v hlave... Možno by bolo lepšie, keby sa HTML mohlo pred-parsovať už priamo na servri. Tým mienim napríklad to, že do stránky by sa mohol vložiť ten štýlopis a hotovo, nebol by problém s HTTP požiadavkom navyše. Ďalej by sa tu mohli vkladať obrázky priamo do dokumentu, obrázok by mohol byť vymedzený nejakým označením typu dát. A podobne ďaľšie veci, ktoré by urýchlili načítanie stránky tým, že by sa zmenšil počet HTTP požiadavkov.

Tým by sa dokument značne zväčšil čo sa týka veľkosti, ale bol by z toho jeden veľký súbor a ten sa určite prenáša rýchlejšie ako dvadsať malých.

No môj nápad je asi neriešiteľný, kto by predsa menil logiku HTTP. V tejto veci nie som odborník, preto ak sa v niečom pletiem, berte to z nadhľadom, poprípade uveďte na správnu mieru.
Aleš Janda
Profil
Celé mi to připadá jako pěkná kravina. Jestli ti dobře rozumím, tak ty vlastně chceš šetřit tím, že budeš posílat data duplikovaně.

Ano, ale jen jednou. Většina lidí se po webu "prochází", takže pak už můžou být styly normálně externě. Nevidím v tom problém.

psát různá css pro různé prohlížeče je taky cesta do pekel

Hacky jsou totéž. Jaký je rozdíl mezi
_vlastnost
a
<? if ($ie): ?> vlastnost <? endif; ?>
??
Druhý případ mi navíc umožňuje mnohem víc.
Ale jestli jsi myslel psát celé styly několikrát, tak to by samozřejmě cesta do pekel byla ;-)


ax123: Bezpředmětné, viz můj první příspěvek, "pro", bod 1.
jozob: O vkládání je celé toto vlákno ;-) ale dávat obrázky do kódu se mi zdá jako velká prasárna. A taky na co?
jozob
Profil
Aleš Janda
Veď som napísal prečo. Keď už toľko vadia HTTP požiadavky na vyše, mojim riešením by sa dosiahlo to, že by sa posielal LEN JEDEN HTTP požiadavok.
A "prasárna"? Prečo? Klient sa nepotrebuje orientovať v zdrojáku...
habendorf
Profil
Hacky jsou totéž. Jaký je rozdíl mezi
_vlastnost
a
<? if ($ie): ?> vlastnost <? endif; ?>
??


Nevím. Jsem rád, že jsem nic takového nikdy nemusel použít. A ani do budoucna nehodlám.
Aleš Janda
Profil
jozob:
Veď som napísal prečo. Keď už toľko vadia HTTP požiadavky na vyše, mojim riešením by sa dosiahlo to, že by sa posielal LEN JEDEN HTTP požiadavok.
A "prasárna"? Prečo? Klient sa nepotrebuje orientovať v zdrojáku...


K dávání obrázků přímo do stránky není důvod. U stylů ale důvod je (přečtěte si prosím mé pro a proti).

habendorf: :-) Co na to říct... :-)
jozob
Profil
1.) Myslím, že pred-parsovanie na servri by pomohlo v rýchlosti.

2.) Nie som odborník

3.) Mne je to jedno... Ja sa prispôsobím väčšine... Keď to bude používať väčšina, pridám sa... :-D
koudi
Profil
K dávání obrázků přímo do stránky není důvod
Jen abych se orientoval - to mluvíte o normálních obrázcích nějak souvisejících s obsahem stránky, nebo o těch "co tvoří design" (tedy různé okraje apod).?
jozob
Profil
koudi
Hovorím o tom, že obrázky by sa mohli vkladať do stránky priamo na servri. Otvor si v textovom editori obrázok. Potom uvidíš, o čo ide. O tom hovorím. Presne to by sa mohlo vkladať priamo na stránku.
Anonymní
Profil *
Habendorf: pokud jsi nikdy nemusel použít odlišný styl pro IE a zbytek, tak by mě zajímalo, jak řešíš třeba písmo, když už nic jiného.
habendorf
Profil
Anonymní: pokud jsi nikdy nemusel použít odlišný styl pro IE a zbytek, tak by mě zajímalo, jak řešíš třeba písmo, když už nic jiného

Co jako ohledně písma? Jestli máš na mysli velikost, tak to řešitelné je. Pro IE ve std. režimu hodím na body font-size: small; a pak pro různé části stránky zadávám velikost v % - vždycky jde dosáhmout stejné velikosti.
Je-li IE v quirku a ostatní browsery ve standardu, lze to také vyřešit. Je to jen nepatrně složitější.
« 1 2 3 »
Toto téma je uzamčeno. Odpověď nelze zaslat.

0