Sova v síti - 1/12 - vydáno 12.6.2001 Dobrý den, je zde vaše Sova v síti, tentokrát s omluvou za jednodenní zpoždění :-) OBSAH -- Redesign Sovy v síti III - záhlaví a rámečky -- Seriál o PHP, VI.část -- Použitelnost stránek a barvy -- Čtenáři nám píší -- V příštím čísle REDESIGN SOVY V SÍTI III - ZÁHLAVÍ A RÁMEČKY V minulém čísle jsme si připravili rozvržení stránky, neboli layout. Obě verze jsou pro osvěžení paměti či pro nové čtenáře stále k dispozici na adresách http://www.sovavsiti.cz/newlayout/layout1.html a http://www.sovavsiti.cz/newlayout/layout2.html, zatímco na adrese http://www.sovavsiti.cz/download/sova0111.txt můžete nalézt text předešlého dílu. Pro dnešní pokračování jsme připravili záhlaví stránky a postranní rámečky. Nejprve je ovšem třeba říci, že ze dvou varianta layoutu, připravených v minulém dílu, jsme si vybrali ten první, pro který je charakteristická pevná šířka pravého okraje pro rámečky. Vedlo nás k tomu několik důvodů, z nichž nejpodstatnější byl ten, že je to přeci jen jednodušší řešení. Stránku pro dnešní výklad naleznete na adrese http://www.sovavsiti.cz/newlayout/layout11.html. Chcete-li se stáhnout i soubor CSS, je na http://www.sovavsiti.cz/newlayout/style11.css. Hlavička stránky se skládá z obrázku sovy, nadpisu celého webu a podnadpisu. Navíc je pod ní ještě modrá čára na celou šířku obrazovky. V HTML vypadá hlavička takto:
Jak vidíte skládá se ze dvou hlavních bloků DIV. První s id "header" pro vlastní hlavičku a druhý (s id="headerline") pro modrou oddělovací čáru. Pokud si vzpomenete na minulý díl, měli jsme v něm oddělovací čáru realizovanou jako spodní orámování (border-bottom) vlastní hlavičky ("header"). Toto řešení však neumožňovalo ponechat úzký bílý proužek mezi hlavičkou a čárou, a proto jsme ho dnes nahradili způsobem uvedeným výše. Nyní se podíváme na styly, které formátování hlavičky ovlivňují. Selektor #header, tedy vlastní hlavička je definován těmito pravidly: #header { background: #ffffff url(img/bg.gif) repeat-y; height: 72px; } Vidíte, že od minule se dosti zjednodušil. Protože jsme přidali oddělovací čáru, nemusí již obsahovat spodní orámování ani okraj. A protože neobsahuje orámování, nemusíme ani použít onen trik kompenzující chybu v Internet Exploreru (viz výklad v minulém dílu). Vlastní hlavička se nám sice zjednodušila, přibyly nám ale nové prvky. Obrázek, pro který jsme zvolili id "toplogo", hlavní titul stránek s id "htitle", podtitul s id "hsubtitle" a konečně ona oddělovací čára "headerline". Styly pro tyto prvky jsou definovány takto: #toplogo { float: left; margin: 0px 20px 0px 0px; width: 102px; height: 72px; } #htitle { color: #000066; font-size: 22px; font-weight: bold; letter-spacing: 0.7em; padding-top: 12px; padding-bottom: 5px; } #hsubtitle { color: #cc0000; font-size:12px; } #headerline { background: #000099 none; height: 2px; font-size: 0px; margin-top: 2px; margin-bottom: 10px; } Pro logo je použita vlastnost float, aby text mohl obrázek obtékat zprava. Povšimněte si též, že velikost obrázku je také uvedena ve stylech a nikoli v základním HTML. Selektory "htitle" a "hsubtitle" v podstatě jen určují písmo a odsazení titulu a subtitulu. Podstatné je, že velikost písma musí být v tomto případě uvedena v pixelech, aby byla vždy zachována relace k velikosti loga. Na oddělovací čáře definované selektorem #header line na první pohled není nic zajímavého. Jedná se prostě o modrou čáru širokou (přesněji vysokou) 2px s horním okrajem 2px (odsazení od hlavičky) a spodním 10px (odsazení od zbytku stránky). Povšimněte si ale pravidla "font-size: 0px". Proč ho zde máme, když v prvku žádné písmo není? Je to proto, že Internet Explorer chybně vykresluje výšku bloku - i když je blok zcela prázdný a deklarovaný s výškou 2px jako zde, IE5 ho nakreslí tak vysoký, jako by v něm byl nějaké text. Proto je třeba ho přesvědčit, že případný text má nulovou výšku a celkovou výšku bloku tedy nemůže ovlivnit. Nakonec se podívejme na rámečky na pravém okraji. V HTML jsou realizovány opět jako DIV s třídou "sidebox", tedy