Sova v síti - 1/15 - vydáno 3.7.2001 Dobrý den, s jednodenním zpožděním je zde vaše Sova v síti :-) OBSAH -- Letní provoz -- Redesign Sovy v síti V - závěr -- Seriál o PHP, IX.část - funkce 2 -- V příštím čísle LETNÍ PROVOZ Začaly prázdniny, doba dovolených a provoz na českém internetu skoro ustal. Jste-li členy nějakých emailových konferencí, jistě jste si všimli, že během posledních 4 dní přišla sotva desetina obvyklého počtu příspěvků. Také pohled na čísla Navrcholu ( http://www.navrcholu.cz) ukazuje, že návštěvnost většiny serverů dramaticky poklesla. Protože vás ani my nechceme v létě trápit nějakým HTML, bude Sova v síti během července a srpne vycházet pouze jednou za čtrnáct dní. Příští číslo tedy dostanete až 16.7.2001. Již podruhé a tentokrát snad naposledy přesuneme do tohoto čísla i slíbený článek "Jak správně používat animace a multimédia". Nějak se mi nedaří ho dopsat :-(. Snad se na mne kvůli tomu nebudete zlobit. Přeji vám všem krásné léto. REDESIGN SOVY V SÍTI V - ZÁVĚR Dnešním dnem se redesign stránek Sovy v síti nachýlil ke svému závěru. Vše je již téměř připraveno a v nejbližších dnech budou nové stránky veřejně zpřístupněny. Podívejme se tedy, co se od minule změnilo. Začneme titulní stránkou, kterou dnes již najdete přímo v rootu webu na adrese http://www.sovavsiti.cz/default_n.html. Pozor, stále ještě nefungují některé odkazy. Na první pohled se toho na stránce mnoho nezměnilo. Pokud se však podíváte na zdrojový kód pozorněji, zjistíte, že navigační menu vlevo nahoře a vpravo dole je nyní řešeno jinak. Původní verze menu vlevo nahoře vypadala takto:
· Diskuse
· Archiv
· Odkazy
· Registrace
· Služby
zatímco nyní vypadá takto: Jak je vidět, místo původního obecného kontejneru DIV jsme nyní použili strukturální prvek UL (neuspořádaný seznam). Jistě vás bude zajímat proč. Inu, jednak proto, že je to stylově čistší - tam, kde jde adekvátně použít prvek nesoucí určitý význam, je škoda sahat po prvku obecnějším. A protože navigační menu je opravdu seznam (odkazů), je určitě správnější použít prvek určený pro seznam. Druhý důvod je však ještě zajímavější. Toto řešení je totiž zároveň mnohem praktičtější, neboť nám dovolí použít prakticky stejný HTML kód pro obě menu. Podívejte se nyní na kód menu vpravo dole: a obě menu porovnejte. Jak jejich kód, tak jejich vzhled v prohlížeči. Zjistíte zajímavou věc. Ačkoli se jedná o prakticky totožné HTML (s výjimkou toho, že druhé menu má o jednu položku navíc), výsledný vzhled je naprosto odlišný. Horní menu vypadá jako celkem normální seznam, zatímco dolní je zobrazeno na jediném řádku. Jak jsme toho dosáhli? Jak jinak, než pomocí CSS. Všimněte si, že horní menu má přiřazenu třídu "topmenu", která je v souboru stylů definována takto: #topmenu { float: left; width: 100px; margin-top: 10px; margin-left: 4px; font-size : 85%; } A jednotlivé položky uvnitř tohoto seznamu takto: #topmenu li { list-style: circle inside; margin: 0px; } Na tom ještě není nic zvláštního. Vše to jsou věci, které již známe - nastavení okrajů, velikosti písma a šířky. Význam vlastnosti "float" jsme si již vysvětlili minule, a pravidlo "list-style: circle inside", pouze určuje, že typ odrážky bude prázdný kroužek. Zajímavější je ovšem definice stylu menu vpravo dole. Ta vypadá takto: #bottommenu { text-align: right; font-size : 85%; } #bottommenu li { display: inline; } Klíčem k celé záhadě, proč jsou všechny položky seznamu v jedné řádce, je pravidlo "display: inline". Normálně má totiž prvek LI vlastnost display nastavenou na hodnotu list-item, což je obdoba bloku (display: block). Každý obvyklý prvek LI se proto zobrazuje podobně jako blokové prvky na samostatném řádku. Pokud ovšem změníme vlastnost display na hodnotu inline, stane se prvek LI vlastně normálním řádkovým prvkem, jako je např. EM, či A. A nyní již jen krátce k dalším stránkám, které jsme pro vás připravili. První naleznete na adrese http://www.sovavsiti.cz/archiv.html a obsahuje odkazy na všechna vydaná čísla Sovy. Povšimněte si, že se vlastně jedná o seznamy vnořené do sebe. Ten vnitřní přitom využívá stejného triku, jako navigační menu vpravo dole. To znamená, že články jednotlivých čísel jsou řádce, ačkoli se jedná o prvku UL a LI. Zdrojový kód HTML vypadá takto: a definice stylů takto: ul.issues { margin-top: 0px; margin-left: 0px; } ul.issues li { list-style: none; margin-bottom: 1em; } ul.issues li ul { margin-top: 0px; margin-left: 0px; } ul.issues li ul li { display: inline; font-size: 85%; } Na tomto příkladu si můžete též povšimnout, jak mocnou zbraní je kaskádování a dědění stylů. Zatímco selektor "ul.issues li" určuje vlastnosti všech prvků LI uvnitř libovolného prvku UL třídy issues, selektor "ul.issues li ul li" určuje už jen ty prvky LI, které jsou vnořeny do UL vnořeného do LI na první úrovni. Nu a protože konkrétnější (specifičtější) selektor podle pravidel CSS vždy vyhrává, chová celý seznam tak, jak potřebujeme. Poslední stránka je vzorovou stránkou pro HTML verzi článku. Naleznete ji na adrese http://www.sovavsiti.cz/c01021.html. Za pozornost stojí snad jen to, jak je pomocí CSS předefinován implicitní vzhled prvku CODE, použitého v souladu s jeho strukturálním významem pro ukázky zdrojového kódu. Tak, tím jsme tedy uzavřeli náš seriál o redesignu Sovy v síti. Doufám, že vám poodhalení našeho designerského zákulisí pomohlo a že se vám nové stránky budou líbit. I když další Sova vyjde až za 2 týdny, bude snad již dříve na nových stránkách připraveno diskusní fórum a webová podoba více článků. Dáme vám o tom včas vědět. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lze uspet v poradenstvi na internetu? Mnozi to jiz dokazali! Zeptejte se jich jak v konferenci on-line poradcu iPoradny. http://www.iporadny.cz/konference/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SERIÁL O PHP, IX.ČÁST - FUNKCE 2 Martin Jelínek V minulém díle jsme si probrali definice funkcí a v dnešním si probereme další kus o funkcích. Platnost proměnných Toto se používá pouze tehdy, když používáme funkce. Ve skriptu bez funkcí, kde deklarujeme jednu proměnnou třeba s hodnotou "a". Ale pokud používáme funkce a potřebujeme stejnou proměnnou, ale s jinou hodnotou, třeba "b", tak si navolíme rozsah platnosti proměnné a to následujícím způsobem. Function rozdilne() { $a = ahoj; } $a = zdárek; rozdilne(); echo $a; Tento kraťoučký program vypíše zdárek i přes to, že proměnná $a má 2 hodnoty a to ahoj a zdárek. Ale hodnota proměnné uvnitř funkce nemá žádný vliv na ostatní proměnné. Předávání parametrů Funkci, které předáváme parametry pomocí odkazu má stejnou syntaxi, ale v definici parametrů přidáme znak &. Function predavani(&$a,$b) { $a = ahoj; $b = kuk; } $q = zdárek; $w = čauky; predavani($q,$w); echo $q,$w; Asi čekáte, že se vypíše zdárek a čauky, ale jste na omylu :-(, vypíše se ahoj a čauky, protože proměnné $a jsme předali hodnotu proměnné $q. Hodnoty parametrů Ve skriptech, které používají funkce se volají funkce pořád se stejnými parametry a je tedy zbytečné pořád opisovat při každém volání funkce její parametr. Function mocneni($zaklad, $exponent = 2) { $pom = $zaklad; for ($i=1; $i<$exponent; $i++) $pom *= $zaklad; return $pom; } echo mocneni(10); Tak to je pro tento díl vše. Doufám, že jste vše pochopili a pokud ne tak napište na mailto:webmaster@oozzik.com (c) 2001 Martin Jelínek - http://oozzik.com - články o PHP, HTML ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Líbí se vám Sova v síti? Doporučte ji vašim přátelům! http://www.sovavsiti.cz/recommend.html ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ V PŘÍŠTÍM ČÍSLE -- Seriál o PHP, X.část - funkce 3, chyby ve skriptech -- Jak správně používat animace a multimédia -- Čtenáři, uživatelé, zákazníci -- Odpovídáme na dotazy čtenářů A to je pro dnešek vše. Přejeme vám krásný den, jakož i celý zbytek týdne a příští pondělí zase na shledanou! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Nechcete, nebo naopak chcete dostávat Sovu v síti? Odběr lze odhlásit odesláním zprávy na unsubscribe@sovavsiti.cz. Přihlásit se lze odesláním zprávy na subscribe@sovavsiti.cz, nebo formulářem na adrese http://www.sovavsiti.cz/. Chcete nám cokoli sdělit? Uvítáme vaše náměty, připomínky, kritiku, atd. na adrese mailto:redakce@sovavsiti.cz. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ARCHIV STARŠÍCH ČÍSEL Hodně nových čtenářů se ptá, kde najdou články ze starších čísel Sovy v síti. Všechny čísla jsou ihned po vydání ukládány do adresáře www.sovavsiti.cz/download a jmenují se sovaRRCC.txt, kde RR je ročník (zatím vždy 01) a CC je číslo (vždy dvojciferné, tedy např. 02). Soubory jsou textové, čeština je kódována dle Windows-1250. Nehledejte v adresáři žádný html dokument, žádný tam není. Lze si pouze stáhnout jednotlivá čísla přímým zadáním jejich URL, tedy např. http://www.sovavsiti.cz/download/sova0104.txt. Pozor, server rozlišuje malá a velká písmena. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Není-li v konkrétním případě uvedeno jinak, je autorem všech publikovaných článků Marek Prokop. Tento ezin, nebo jeho libovolnou část můžete volně šířit dále, pokud současně uvedete zdroj následujícím způsobem: _________________________________________________________________ Sova v síti -- (c) 2001 Marek Prokop -- http://www.sovavsiti.cz/