Informatika pro business 1
PhDr. Jan Lavrinčík, DiS., Ph.D.
Informatika pro business 1
Info
Období
léto 2022
Cílem předmětu je seznámit s formami ICT podpory podnikání v podobě internetových stránek, webové aplikace a aplikace pro chytré mobilní telefony. Studenti se seznámí s možnostmi přístupu k tvorbě uživatelských „user-friendly“ aplikací, designový návrh, rozložení ovládacích prvků. V rámci předmětu se studenti nejen naučí založit a provozovat internetovou stránku s redakčním systémem a mobilní aplikaci pro chytré mobilní telefony s operačními systémy iOS a Android.


Zápočet: Sestavení mobilní aplikace, webové aplikace nebo internetové stránky.

Kapitola obsahuje:
18
Obrázek
1
Studijní text
Učitel doporučuje studovat od 14. 2. 2022 do 20. 2. 2022.
Kapitola obsahuje:
17
Obrázek
1
Studijní text
Učitel doporučuje studovat od 21. 2. 2022 do 27. 2. 2022.
Kapitola obsahuje:
32
Obrázek
1
Studijní text
Učitel doporučuje studovat od 28. 2. 2022 do 6. 3. 2022.
Kapitola obsahuje:
28
Obrázek
1
Studijní text
Učitel doporučuje studovat od 7. 3. 2022 do 13. 3. 2022.
Kapitola obsahuje:
1
Studijní materiály
Učitel doporučuje studovat od 14. 3. 2022 do 20. 3. 2022.

Týden 1

1.1 Internet a jeho služby

Internet je systém mnoha propojených počítačových sítí po celém světě. Počítačovou sítí nazýváme systém komunikačních linek a počítačů, v němž pracují programy umožňující přenos informace (dat) mezi propojenými počítači. Internet je fyzicky vystavěn z menších počítačových sítí - lokálních (LAN), metropolitních (MAN) a globálních (WAN) počítačových sítí.

Samotný přenos informace mezi počítači v Internetu probíhá na základě jednotných pravidel defi- novaných standardními postupy a jazykem - komunikační protokoly. Počítače Internetu si v rámci daného protokolu vzájemně rozumí a stejně interpretují přenášenou informaci. Každá informační služba má v Internetu vlastní protokol. Komunikační protokoly, které se v Internetu používají, jsou sdruženy v jedné množině označované jako protokoly TCP/IP, která zahrnuje kolem 100 protokolů. Jsou to např. protokoly označované jako FTP, Telnet, SMTP, HTTP apod.

Počítače v síti Internet pracují buď jako servery, nebo jako klientské stroje (klienti). Jejich význam je zřejmý: servery své služby poskytují, klientské počítače tyto služby využívají.

1.1.1 Přehled základních informačních služeb Internetu

 Elektronická pošta (e-mail)
Prostřednictvím elektronické pošty lze přijímat a odesílat elektronické dopisy, e-maily, prakticky po celém světě prostřednictvím Internetu.

 WorldWideWeb (WWW)
Služba WWW umožňuje prostřednictvím Internetu vyhledávat, prohlížet, vytvářet a sdílet s ostat- ními uživateli tzv. hypertextové dokumenty.

 Talk, IRC, ICQ, Chat
Tyto služby umožňují komunikaci mezi uživateli Internetu v reálném čase pomocí klávesnice a obra- zovky monitoru mezi vzdálenými počítači. V případě hlasové komunikace se jedná o Internetovou telefonii, ve spojení s přenosem obrazu pro dva a více účastníků pak o videokonference.

 Přenos souborů FTP
Prostřednictvím služby FTP (File Transfer Protocol) lze přenášet počítačové soubory uložené kdeko- liv na Internetu na vlastní počítač nebo je naopak ukládat jinam. Služba FTP umožňuje jednoduchý přenos souborů po Internetu v režimu klient - server. I když vzhledem k bezpečnosti dat pracuje ob- vykle v režimu autorizovaného přístupu, existuje i možnost jejího anonymního provozu bez nutné registrace na veřejných FTP serverech. S rozvojem možností služby WWW a bezpečnostním rizikům

1.1 INTERNET A JEHO SLUŽBY, ÚVOD DO PROBLEMATIKY TVORBY WWW STRÁNEK

jejího provozu význam služby FTP pomalu klesá, díky jejímu jednoduchému zprovoznění prakticky na libovolném počítači připojeném k Internetu je však stále užitečná. Základní klient služby FTP je součástí protokolu TCP/IP, takže pokud jej máme nainstalovaný lze službu FTP okamžitě používat.

 Vzdálený přístup Telnet
Prostřednictvím služby Telnet se můžeme připojit ke vzdálené LAN a chovat se jako její běžný uživa- tel. To je velmi příjemné, jsme-li např. v zahraničí. Pomocí Telnetu se můžeme připojit ke svému domovskému serveru a přečíst např. došlou elektronickou poštu. Můžeme jeho prostřednictvím rovněž využívat služeb katalogů mnohých knihoven v ČR i v celém světě.

Služba Telnet (Telecommunication Network) umožňuje připojení ke vzdálenému počítači nejen pro přenos souborů, jako je tomu u služby FTP, ale i pro další práci na tomto vzdáleném počítači (spouš- tění programů, zpracování elektronické pošty atd.), tedy obdobné služby, jaké nám poskytuje server v naší LAN. Telnet je obdobně jako FTP realizován dvojicí klient - server. Vzhledem k tomu, že posky- tuje širší služby, vyžaduje prakticky ve všech případech autorizovaný přístup - uživatel tedy musí mít na vzdáleném počítači svůj účet chráněný heslem.

1.2 Princip WWW stránek

Prvním významným krokem k rozšíření Internetu mezi nejširší veřejnost bylo zavedení služby World Wide Web, kterou dnes známe pod označením WWW. Tato přelomová služba vznikla roku 1989 ve Švýcarsku, v evropském centru pro jaderný výzkum CERN. Její vynálezce Tim Bernes Lee ji původně zamýšlel jako vnitropodnikový systém (5).

Komunikace počítače s internetovým prohlížečem na straně jedné a webovým serverem poskytují- cím výslednou webovou stránku na straně druhé probíhá v modelu klient/server. Tento model ko- munikace pracuje způsobem žádost/odpověď (request/response). V praxi to znamená, že klientský počítač zašle serverovému požadavek na informace. Serverový počítač klientovi odpoví a informace mu poskytne. Klientský počítač pak získané informace zobrazí v prohlížeči.

WEBOVÉ TECHNOLOGIE 1.2

page12image28577232

Obr. 1.1: Komunikace typu klient/server ; zdroj: http://178.248.252.60/~xsenj01/klient%20 -%20server.htm

1.2.1 Dostupné prohlížeče nástroje pro tvorbu web stránek

Webové stránky se zobrazují v prohlížečích tzv. browserech, které umožňují http komunikaci s we- bovým serverem a přijatý kód zobrazují ve formě webových stránek. Mezi nejznámější internetové prohlížeče patří:

  •   Internet Explorer od společnosti Microsoft

  •   Mozilla Firefox

  •   Opera

  •   Google Chrome od společnosti Google

 Safari a další.

page12image28649424

Obr. 1.2 Ikony nejznámějších prohlížečů

13 INTERNET A JEHO SLUŽBY, ÚVOD DO PROBLEMATIKY TVORBY WWW STRÁNEK

Právě pro výše uvedené skutečnosti již Internet Explorer není tak dominantním prohlížečem, který měl v minulosti podíl okolo 95 %. Dnes se stále více užívá prohlížeč Mozilla Firefox, ale i další, které máme zobrazeny na obrázku: Opera, Google Chrome a Safari.

V prvním odstavci této kapitoly jsme si definovali, v jakém programu můžeme stránky prohlížet, nyní nastal čas zodpovědět otázku, v jakém programu webové stránky vytvářet? Odpovědí na tuto otázku můžeme opět slyšet desítky. Rozhodujícím aspektem je právě naše pozice v roli tvůrce stránek. Zdro- jový kód stránek můžeme totiž psát i v obyčejném textovém editoru jako je notepad. Nebude to příliš pohodlné, ale jsou případy, kdy si s tímto editorem pohodlně vystačíme. Pro relevantní odpo- věď na otázku musíme vědět, zdali se tvorbou stránek hodláme věnovat dlouhodobě, profesionálně či amatérsky a jaké webové stránky budeme vytvářet. Mnohé editory jsou volně šiřitelné zdarma, naopak ty licencované nejsou levnou záležitostí, avšak ve svém instalačním balíku dokáží nabídnout profesionální funkce. Mezi volně šiřitelné editory patří velice oblíbený editor PSPad. Na opačném konci stojí například profesionální nástroj Dreamweaver společnosti Macromedia – dnes již Adobe. V našem předmětu se seznámíme i s Microsoftími produkty Visual Studio a převážně Microsoft Ex- pression Web, který je nástupcem bývalého nástroje Front Page z balíku Office této společnosti.

Příklad volně dostupných editrorů HTML

  •   PSPad Editor - http://www.pspad.com/cz/

  •   HTML Kit - http://www.chami.com/html-kit/

  •   HTML Editor - http://editor.2b.cz/

  •   Dynamic HTML Editor - http://www.dynamic-html-editor.com/en/home.asp

  •   Golden HTML Editor - http://www.golden-html.com/

  •   CofeeCup Html Editor 2008 - http://www.coffeecup.com/

  •   1Site Lite - http://www.visualvision.com/software/1site_e.html?1site

  •   Hypertext Builder - http://www.paksoft-productions.com/hb/hb1.asp

  •   AceHtml - http://software.visicommedia.com/en/products/acehtmlfreeware/

  •   Webster - http://www.dwn.cz/webster (4)

    A mnoho dalších, záměrně neuvádím čísla verzí programů, neboť editory se neustále zdokonalují. Jejich web adresy výrobců by však měly zůstat stále stejné.

    WWW je služba internetu, celosvětová pavučina, která propojuje systém hypertextových doku- mentů napsaných podle určitých pravidel a umožňuje jejich přenos. K tvorbě dokumentů pro WWW (www stránek) je nutná existence vývojového nástroje, který umožňuje formátovat text, vložení hy- pertextových odkazů, obrázků, zvukových stop atp. To vše má na starosti od svého vzniku v roce 1991 značkovací jazyk www stránek, jazyk HTML.

    Pozn: Hypertextové dokumenty – dokumenty obsahující hypertextové odkazy umožňující vzájemné propojení těchto dokumentů do funkčního celku.

WEBOVÉ TECHNOLOGIE 14

1.2.2 HTTP

V prostředí sítě internet pracují počítače buď jako servery nebo jako klienti. Server poskytuje služby klientům, klienti služeb serveru využívají. V rámci služby WWW hovoříme konkrétně o webovém (HTTP) serveru. Tyto servery slouží jako uložiště www stránek a zpracovávají požadavky, které k nim vyšlou uživatelé prostřednictvím internetových prohlížečů. Klient musí serveru zaslat požadavek prostřednictvím určitých pravidel. Jestliže server požadavku rozumí, je schopen ho zpracovat a dokáže podle akce uživatele odpovědět, zašle klientovi opět dle zmíněných pravidel příslušnou odpověď (např. www stránku, dokument ke stažení atd.) (viz následující obrázek). Pravidla této ko- munikace určuje internetový protokol HTTP (Hypertext Transfer Protocol).

HTTPS - Bezpečnější varianta protokolu, která umožňuje přenášená data šifrovat a tím chránit před odposlechem či jiným narušením.

Obr 3.1: Komunikace klient/web server (zdroj: Webový server. http://cs.wikipedia.org/wiki/Webov%C3%BD_ser-ver#mediaviewer/Soubor:Webserver.jpg)

1.2.3 URL

URL, celým názvem Uniform Resource Locator („jednotný lokátor zdrojů“) je řetězec znaků s defi- novanou strukturou, který slouží k přesné specifikaci umístění zdrojů informací (ve smyslu doku- ment nebo služba) na Internetu. URL definuje doménovou adresu serveru, umístění zdroje na ser- veru a protokol, kterým je možné zdroj zpřístupnit.

page14image28731344

Příklad URL:

15 INTERNET A JEHO SLUŽBY, ÚVOD DO PROBLEMATIKY TVORBY WWW STRÁNEK https://stag-mvso.zcu.cz/portal

Doménová adresa serveru je vlastně jeho přeložená IP adresa, které je pro lepší zapamatování přiděleno DNS serverem doménové jméno. Určitě se shodneme, že se lépe pamatuje URL ve tvaru

http://www.movz.upol.cz/ než http://158.194.63.8/

1.3 Vývoj značkovacích jazyků 1.3.1 Původ značkování

Počítače byly od samého počátku využívány pro přípravu a publikování textů. Značkování vzniklo v nakladatelstvích. U tradičních tiskových technologií je každý rukopis opatřen poznámkami pro sa- zeče, které určují vzhled dokumentu. Těmto ručně psaným poznámkám se říká typografické značky. Podobně funguje značkování v textových editorech a procesorech. Uživatel například určí font písma a jeho řez, a do výsledného dokumentu se automaticky přidá odpovídající speciální kód, aniž by se o něj musel uživatel jakkoli starat. Přenositelnost textů mezi různými textovými procesory je ale obecně velmi špatná, dokonce i dnes. I v rámci jednoho procesoru se objevují problémy: Přichá- zejí nové verze a používají různé formáty pro ukládání dat.

Proto se objevila potřeba vytvořit formát, který by umožňoval uložení textů v elektronické podobě a byl přitom nezávislý na hardwarové i softwarové platformě a byl dostatečně flexibilní. Zmíněná nezávislost nepřímo implikuje nutnost začít informace značkovat podle významu místo podle poža- dovaného vzhledu. Jako vhodné řešení se ukázalo použití tzv. značkovacího jazyka. Jednotlivé značky (markups) jsou vkládány přímo do textu dokumentu a mají svůj význam. Prvním takovým jazykem byl GenCode od Graphics Communications Association z konce 60. let 20. Století (3).

WEBOVÉ TECHNOLOGIE 16

1.3.2 Jazyk SGML

Ve stejné době, kdy vznikl GenCode, definovala komise ANSI1 svůj standard založený na jazyku GML (Generalized Mark-up Language – zobecněný značkovací jazyk). Následně se obě organizace spojily a vytvořily společný standard, který byl v prosinci 1986 akceptován jako standard ISO 8879 – SGML (Standard Generalized Mark-up Language).

Nejedná se o značkovací jazyk sám o sobě, ale o metajazyk sloužící k definování různých značkova- cích jazyků. Data zapsaná pomocí SGML jsou strojově modifikovatelná do libovolného formátu. Na bouřlivě se rozvíjejícím Internetu však SGML nemohl obstát. Je totiž komplikovaný na implementaci a obsahuje velkou spoustu rysů, které jsou zřídkakdy využity. Tato skutečnost má za následek, že software pro práci s tímto jazykem je složitý a nestabilní, přičemž drtivá většina tohoto software kompletní specifikaci SGML stejně nedokáže vyhovět.

1.3.3 Jazyk HTML

Asi nejznámější aplikací SGML je jazyk HTML (Hypertext Markup Language), který se používá pro tvorbu webových stránek. Jazyk HTML si získal velkou oblibu díky své jednoduchosti, která byla v os- trém kontrastu s komplexností SGML. Ukázalo se však, že pevně daná skupina značek, které HTML používá, už nestačí. Pro účely vyhledávání a vůbec efektivnější výměny dat by bylo lepší mít možnos t použít vlastní značky, které by přesně vymezily význam textu (3).

1.3.4 W3C a normy

World Wide Web Consortium (W3C) je mezinárodní konsorcium, jehož členové společně s veřej- ností vyvíjejí webové standardy pro World Wide Web. Cílem konsorcia je „Rozvíjet World Wide Web do jeho plného potenciálu vývojem protokolů a směrnic, které zajistí dlouhodobý růst Webu“ (1). W3C se také zabývá vzděláním a přístupností, vyvíjí software a nabízí otevřenou diskuzi o Webu pro- střednictvím fóra. Konsorciu předsedá jeho zakladatel Tim Berners-Lee, tvůrce služby Webu a pri- mární autor specifikací URL (Uniform Resource Locator), HTTP (HyperText Transfer Protocol) a HTML (HyperText Markup Language) - základních pilířů Webu.

1 1ANSI je americká instituce, která vyvíjí americké průmyslové standardy ve shodě s mezinárodními standardy ISO (International Standard Organization)

17 INTERNET A JEHO SLUŽBY, ÚVOD DO PROBLEMATIKY TVORBY WWW STRÁNEK

Mnoho formálních norem, další technické specifikace a software definuje operace různých aspektů World Wide Webu, Internetu a serverů pro výměnu informací. Mnoho z těchto dokumentů je prací World Wide Web Consortium (W3C).

  •   Doporučení pro značkovací jazyk, hlavně HTML a XHTML od W3C. Definují strukturu a in- terpretaci hypertextových dokumentů.

  •   Doporučení pro styly, především CSS od W3C.

  •   Normy pro ECMAScript (obvykle forma JavaScriptu).

  •   Doporučení pro Document Object Model (DOM) od W3C (1).

1.3.5 Jazyk XML

Standard SGML je velmi komplexní a jeho úplná impelmentace velice náročná. Přitom během deseti let používání SGML se ukázalo, že se v praxi používá pouze část jeho možností. Tato nejdůležitější podmnožina SGML proto byla vybrána jako novy jazyk, který dovede Web do třetího tisíciletí. Správně již tušíte, že novy jazyk dostal jméno XML (eXtensible Markup Language). Jedná se o pod- množinu SGML, která si zachovává možnost definování vlastních značek pro pro jednotlivé skupiny dokumentů. Narozdíl od SGML je mnoho parametrů předem určeno a nelze je měnit (maximalni délka názvů značek, použité oddělovače a speciální znaky atd. XML už rovnou počítá s podporou všech možných jazyků, takže není tak úzce svázáno s angličtinou jako většina předchozích počítačo- vých technologií. Syntaxe zápisu dokumentů v XML oproti SGML poměrně přísná, což umožni mno- hem snazší a levnější vývoj aplikaci, které umožňují s tímto jazykem pracovat (3).

1.3.6 Jazyk XHTML

U HTML se v poslední době začíná objevovat další nedostatek – příliš velká volnost syntaxe. Zatímco webové prohlížeče jsou poměrně robustní a spoustu chybných výrazů dokáží zkorigovat, existují a vyvíjejí se další zařízení pro přístup k Internetu (WebTV, organizéry, mobilní telefony, herní kon- zole), jejichž schopnosti jsou velmi rozdílné. V mnoha případech pak nemají výpočetní potenciál po- třebný ke kontrole kódu. Taková zařízení proto vyžadují, aby byl kód syntakticky správný a ověřený.

Toho lze s XML docílit snadno. Samo konsorcium W3C ale uvádí, že nevěří tomu, že by se právě XML stal hlavním nástrojem pro tvorbu WWW stránek. Ač se dá na rozdíl od SGML na Webu použít velice dobře, oproti HTML je pořád příliš složitý.

Proto W3C vytvořila kompromisní řešení – jazyk XHTML (eXtensible HyperText Mark-up Language). Jeho základem je HTML 4.01 definovaný jako aplikace XML. V praxi to znamená hlavně zpřísnění

WEBOVÉ TECHNOLOGIE 18 syntaxe a možnost definovat vlastní značky, což je opět krokem ke značkování informací podle vý-

znamu.

Současnou verzí XHTML je 1.1, což je modulově pojatá původní verze. V principu jde o rozložení ce- lého standardu HTML 4.0 / XHTML 1.0 na několik základních skupin elementů, protože různá vý- stupní zařízení podporují různé skupiny elementů. Tato verze na rozdíl od verze původní již nepři- pouští žádné nedoporučené elementy – především jde o dědictví staršíchverzí HTML. S XHTML tedy sice přicházíme o značnou nenáročnost na psaní dokumentu, zároveň se nám však nemůže stát, že by se nějaký dokument v jednom prohlížeči zobrazil, a v jiném ne (2).

1.3.7 Zpracování požadavku na www stránku síti Internet

Většina webových aktivit začíná na straně klienta, a to okamžikem, kdy uživatel spustí svůj webový prohlížeč. Tento prohlížeč ze všeho nejdříve načte dokument takzvané domovské stránky, která se může nacházet buďto na lokálním disku (u vás na počítači), nebo častěji na serveru některé ze sítí - (třeba Internetu www.seznam.cz).

Pokud je domovská stránka umístěna mimo vlastní počítač, musí se klientský prohlížeč nejprve „po- radit‘‘ se serverem systému pojmenování domén (se serverem DNS, Domain Name System) a pře- vést jméno serveru s dokumentem domovské stránky, např. www.seznam.cz, na jeho IP adresu; te- prve poté může odeslat tomuto serveru přes Internet příslušný požadavek.

Webový server stráví většinu svého času nasloucháním sítě a čekáním na požadavek, ve kterém je uvedena jeho vlastní jedinečná adresa. Jakmile se objeví takovýto požadavek, server odešle poža- dovaný dokument do prohlížeče žadatele. Zároveň server obvykle zaznamená jak požadavek, tak i jméno klientského počítače, požadovaný dokument a časový okamžik. Vrátíme se zpět do prohlí- žeče, kam mezitím dorazil vyžádaný dokument. Pokud je to textový soubor v prostém formátu ASCII, zobrazí jej většina prohlížečů také v prostém, textovém formátu.

Prohlížeče načítají ze serverů také binární soubory. Stažený binární soubor však prohlížeč obvykle uloží přímo na lokální disk, kde s ním uživatel může dále pracovat; pokud je ale na počítači nainsta- lován odpovídající pomocný program, případně speciální zásuvný (plug-in) software či applet, může se zvuk či videosoubor (filmový klip) zobrazit přímo, respektive se začne přímo přehrávat.

Ve většině případů prohlížeč dostane speciální dokument, který je zdánlivě prostým textovým sou- borem, ale ve skutečnosti obsahuje kromě textu také speciální označovací kódy, jimž se říká tagy (tags). To je dokument HTML, XHTML nebo XML; prohlížeč jej odpovídajícím způsobem zpracuje,

19 INTERNET A JEHO SLUŽBY, ÚVOD DO PROBLEMATIKY TVORBY WWW STRÁNEK text naformátuje podle informací definovaných tagy, a stáhne případné speciální, doplňující sou-

bory, jako jsou například obrázky (5).


2.1 Jazyky a styly

Jak již bylo řečeno, pro vývoj webových stránek se používají značkovací jazyky, skriptovací jazyky a kaskádové styly. Značkovací jazyk HTML (HyperText Markup Language) vychází ze standardu SGML (Standard Generalized Markup Language). SGML je univerzální značkovací jazyk dán ISO standar- dem a umožňuje definovat různé typy značkovacích jazyků podle své syntaxe a pravidel. Značkovací jazyk je to proto, že na rozdíl od programovacích jazyků, kdy určité konstrukci klíčových slov rozumí kompilátor programu, zde pomocí značek se oznámí cíli, jak má daný úsek informací mezi značkami zobrazit. HTML je tedy jazyk, který definuje své značky, které mají význam pro internetový prohlížeč. Značky jsou definovány jako klíčová slova či zkratky z anglického jazyka, uzavřené mezi ostré zá- vorky.

Obr. 2.1: Syntaxe značkovacího jazyka; zdroj: (3)

V praxi to znamená, že prohlížeč zobrazí informace mezi počáteční a koncovou značkou podle vý- znamu dané značky. Například značka <b> formátuje písmo tučně a proto vše mezi touto a koncovou značkou </b> zobrazí prohlížeč tučným písmem.

Dalšími jazyky, které pomáhají vyvíjet webové stránky, jsou skriptovací jazyky. Dělí se na klientské a serverové. Klientským skriptovacím jazykem je například javascript, který si blíže představíme v ka- pitole 12.

Mezi nezbytné nástroje pro vývoj webových stránek patří kaskádové styly. Dnešní moderní stránky se bez nich již neobejdou. Jejich posláním je oddělit vzhled od obsahu, což je právě nevýhodou znač- kovacích jazyků, kdy mícháme informační obsah s určením, jak se má interpretovat. Kaskádové styly naopak určují pouze vzhled a to na pokročilé úrovni. Kaskádové styly dokáží určit html elementům formát a zpřesnit jejich vlastnosti a oddělují tak tyto definice od vlastního informačního obsahu. Kaskádové styly budou obsahem šesté a sedmé kapitoly učebního textu.

page22image28639648

23 STRUKTURA HTML KÓDU

2.2 Základy jazyka XHTML
Tato studijní opora je v příslušných příkladech a rozborech dále věnována jazyku XHTML, protože:

  •   v současnosti stále nejužívanější jazyk tvorby www stránek,

  •   vychází z množiny pravidel definovaných XML,

  •   oproti HTML 4.1 má jednodušší a přehlednější zápis,

  •   podporuje menší množství značek, je lépe zapamatovatelný,

  •   je základem pro (X)HTML 5.

    Obr. 2.2: Zdrojový kód naší první webové stránky; zdroj: (4)

    K napsaní kódu stránek, které budeme v prvních kapitolách vysvětlovat, nám postačí i editor Note- pad.

    Je také možné editovat zdrojový kód html stránky, který budeme ihned prohlížet ve webovém pro- hlížeči. Zdrojový kód nám umožní prohlédnout každý typ prohlížeče. Musíme zvolit z nabídkové lišty prohlížeče MENU – ZOBRAZIT – ZDROJOVÝ KÓD.

2.2.1 Kostra stránky
Každá www stránka začíná a končí tagem <html> (viz Obr. 2.2). Je to tzv. kořenový tag. Každá www

stránka obsahuje dvě logické části:

 Hlavička dokumentu – tag <head>. Informace, které jsou uvozeny počáteční a koncovou značkou tagu <head>, jsou určeny pro potřeby internetového prohlížeče a uživatel se s nimi až na dvě výjimky vizuálně nesetká. Uvozují se zde například tzv. META tagy o kterých se dozvíte více později. Důležitou součástí hlavičky je také tag <title>. Obsah tagu <title> se zobrazí v záhlaví internetového prohlížeče jako titulek stránky.

page23image28781952

WEBOVÉ TECHNOLOGIE 24

 Tělo dokumentu – <body>. Vše co je uvozeno počáteční a koncovou značku tagu <body> se zobrazí jako obsah www stránky v internetovém prohlížeči. V našem prvním příkladu to byl vlastně jen jeden text odstavce, Moje první www stránka. Pro potřeby zvýraznění slova „první“ jsme použili TAG k tomu určený, TAG <strong>.

2.2.2 TAGY
Základní struktura dokumentu (X)HTML je tvořena TAGY – základními značkami jazyka.

Značkám příslušného jazyka, které popisují a formátují text, tabulky, obrázky atp. do kýžené podoby říkáme TAGY. Tyto se zapisují do ostrých závorek < > a jsou definovány příslušným jazykem, tj. mají různý význam. Jednoduše řečeno, značkují obsah www stránky a říkají mu, jak se má ve výsledku v internetovém prohlížeči zobrazit.

Každý TAG v jazyce XHTML má svou počáteční a koncovou značku. To je specifikum pro XHTML. Například na Obr. 2.2 si popíšeme TAG <p>, který označuje v těle www stránky text v odstavci.

<p> Moje první www stránka </p>
Koncová značka daného TAGU se liší pouze přidáním lomítka. Vše co leží mezi počáteční a koncovou

značkou daného TAGU je jeho obsahem a zobrazí se nám ve výsledku v internetovém prohlížeči (4).

2.2.3 Zásady a konvence jazyka XHTML

  •   Všechny TAGY se zapisují malými písmeny.

  •   Všechny TAGY jsou ukončené (mají svou koncovou značku).

  •   TAGY mohou být zároveň obsahem jiného TAGU (vnořování). Jak jsme např. viděli obsahem tagu <head> je tag <title>. Nebo obsahem tagu <body> je tag <p>.

  •   TAGY se nesmí křížit (tj. nesmí docházet k míchání pořadí koncových značek při vnořování) – viz následující ukázka:

    Obr. 2.3: Ukázky tagů; zdroj: (4)

page24image28781120

25 STRUKTURA HTML KÓDU

Zápis hlavních TAGŮ www stránek se většinou provádí pro větší přehlednost pod sebe. Jednotlivé TAGY se odsazují tabulátorem od levého okraje tak, aby jejich počáteční a koncová značka měla stejné levé odsazení, a aby tato vzdálenost u jednotlivých TAGŮ rostla s jejich vnořením pod TAGY nadřazené (podobě jako ve stromovém výpisu adresáře). Nicméně není to povinná zásada a je na vás, jak budete zápis provádět. Já doporučuji uvedený způsob – viz Obr. 2.2.

Obr. 2.4: Odsazení tagů; zdroj: (4)

Hlavním (kořenovým) je TAG <html>. Jeho počáteční a koncová značka má nulové odsazení. Tagy <head> a <body> jsou již tagy vnořené a mají tak určité odsazení. Jelikož jsou oba na logicky stejné úrovni (mají téhož rodiče), mají stejnou vzdálenost od levého okraje. Tagy <title> a <p> jsou opět tagy vnořené a mají proto opět o něco větší odsazení. Jelikož oba uvozují pouze krátký text, umístili jsme jejich počáteční a koncovou značku na stejný řádek.

Je opravdu prakticky jedno jak si to vyřešíte – hlavní je, aby se tagy nikdy nekřížily a abyste se v zápisu poté znovu vyznali. V dalších příkladech se ale budeme snažit dodržovat uvedenou kon- venci.

Pamatujte si:

Fyzické rozmístění textu ve zdrojové části www stránky (ve zdrojovém kódu) nemá žádný vliv na její výslednou vizuální podobu v internetovém prohlížeči. Podobu ovlivňují pouze jednotlivé TAGY a pří- slušné styly CSS (o nich později – viz kap. 6).

Čili v internetovém prohlížeči budou úplně stejně zobrazeny následující dva zápisy zdrojového kódu:

<p>Moje <strong>první</strong> www stránka</p> <p>Moje

<strong>první</strong> www stránka</p>

page25image28582640

WEBOVÉ TECHNOLOGIE 26

2.2.4 Atributy HTML elementů

HTML elementy mohou ve své definici používat buďto pouze název elementu v ostrých závorkách (viz podkapitoly výše) nebo můžeme použít atributy elementů, které danému elementu určí ještě dodatečné vlastnosti. Těmito vlastnostmi bývá zarovnávání, velikost, barva a mnoho dalších. Syntaxi použití atributů html elementů vidíme na následujícím obrázku.

page26image28798960

Obr. 2.5: Syntaxe použití atributů html elementu; Zdroj: (3)

Barvy v HTML stránkách

V html dokumentech můžeme používat barvy pro běžné písmo, nadpisy, pozadí stránky, odstíny bu- něk tabulky a další prvky. Barvy jsou vyjádřeny ve formátu RGB (RedGreenBlue) pomocí hexadeci- málního kódu nebo přímo čísel odstínu od 0 do 255. Při použití hexadecimálního kódu použijeme před číselným vyjádřením barvy znak #.

Obr. 2.6: Příklad nastavení barev; Zdroj: (3)

Přes množství barev (16 777 216 možných barevných odstínů), které nám RGB zobrazení nabízí, musíme být obezřetní a použití barev uvážit. Webová stránka musí být barevně vyvážená, nejsou vhodné ostré a kontrastní barvy. Stránka je především určena uživatelům, kteří v ní hledají užitečné infor- mace, a proto by je barvy neměly rušit či dokonce odradit.

Pro základní barvy nemusíme používat číselný rgb nebo hexadecimální kód. Základní barvy mají svá jména, samozřejmě v anglickém jazyce. Jména těchto barev můžeme používat přímo v atributech html elementů. Na následujícím obrázku vidíme pro základních 16 barev jejich název, odstín i kó- dové označení.

page26image28621024

27 STRUKTURA HTML KÓDU

page27image28822368

Obr. 2.7: 16 barev, které můžeme použít jmenným označením v HTML dokumentech; Zdroj: (3)

Hlavička HTML dokumentu

Hlavička HTML dokumentu je nezbytnou částí každé stránky. Je uvozena elementy <head></head>.

Mezi těmito elementy se může nacházet pouze několik elementů, přesto jsou některé z nich nepo- stradatelnými a budeme je pravidelně používat. Elementy nacházející se v hlavičce jsou:

<title>, <link>, <base>, <meta>, <style>,<script> a jejich párové ukončení.

Nejznámějším elementem hlavičky je element title definující název stránky. Nepodceňujme tento element, je důležitý pro vyhledávače, které tyto stránky třídí, ale hlavně pro samotného čtenáře webových stránek. S elementem link se setkáme při tvorbě externích souborů s kaskádovými styly. Tímto elementem soubor s kaskádovým stylem přilinkujeme do našeho dokumentu. Neuvádím zde ukázku, protože se CSS stylům budeme věnovat v dalších kapitolách, kde bude probrán rovněž ele- ment style. Důležitým elementem hlavičky je tag meta, který popisuje pomocí svých atributů obsah stránky, klíčové slovo pro vyhledávání autora stránek a znakovou sadu, ve které se bude zobrazovat informační obsah webové stránky. Element skript budeme rovněž probírat v jiné kapitole. Na ob- rázku 2.8 vidíme zdrojový kód hlavičky HTML stránky s příslušnými elementy.

Obr. 2.8: HTML hlavička s elementy <title>,<meta>,<style>,<script>; Zdroj: (3)


3.1 Formátování textu

HTML jazyk se vyvíjí zhruba 20 let, přičemž jeho poslední verze HTML 4.01 se používá již jedno de- setiletí. Od prvních verzí se jazyk měnil a mnoho základních elementů se již nepoužívá, přestože jej prohlížeče dokáží interpretovat. S vývojem progresivních CSS stylů, které mnoho elementů a atri- butů nahradí ve funkčnosti, pohodlí a efektivitě, jsou některé elementy HTML již minulostí. Přesto však jsou elementy, bez kterých si formátování webových prvků nedokážeme představit. Tato kapi- tola přehledně v tabulce uvede seznam používaných elementů a upozorní na ty, které by již měli být nahrazeny modernějšími metodami použití.

Tab. 3.1 Elementy fyzického formátování; zdroj: (2)

Elementy se nedoporučují ze tří důvodů. Prvním důvodem je zastaralost uvedeného elementu. Ta- kový element nemusí být podporován prohlížeči a může dělat při zobrazení problémy. Takovým ele- mentem je například <font>, který nebyl do přehledu formátovacích tagů ani zařazen. Druhým dů- vodem pro nedoporučení používat elementy je pozbytí jejich významu při vývoji hypertextových dokumentů. Element <u> prohlížeč zobrazí podtrženě, avšak v hypertextových dokumentech bývají podtržené odkazy, ostatní podtržený text je matoucí. Třetím důvodem je nahrazení novějším ele- mentem či dokonce CSS stylem. Elementy <s> a <strike> nahrazujeme novým elementem <del> či CSS stylem text-decoration:line-through. Obdobně je tomu u blikajícího textu, ten nahrazujeme CSS stylem text-decoration:blink. Zakázané zalomení řádku <nobr> nahrazujeme stylem white- space:nowrap.

page30image28660192

31 ZNAČKY HTML KÓDU PRO PRÁCI S TEXTEM Tab. 3.2 Elementy logického formátování; zdroj: (2)

Logické formátování původně vymezovalo text dle jeho významu, nikoliv vzhledu. To znamená, že logicky členilo text bez fyzického formátování. Text se tak mohl členit na obsah, zkratky, citace, pro- měnné, termíny, výpisy kódu apod. S postupem času se formátování textu na webových stránkách vyvinulo tak, že i logické formátování sebou nese význam formátování fyzického.

Obr. 3.1: Zobrazení stránky se zdrojovým kódem – formátování textu pomocí elementů html; zdroj: (2)

page31image28349520page31image28350144 page31image28350560

WEBOVÉ TECHNOLOGIE 32

3.2 Seznamy

Seznamy jsou populární položkou každého textového editoru. Je zřejmé, že i informace na webo- vých stránkách je potřeba občas seřadit. K tomu obecně slouží číslované nebo odrážkové seznamy, přesně v takové podobě, jako je známe např. v Microsoft Wordu. Pro číslovaný seznam máme při- řazen termín uspořádaný seznam (angl. ordered list), ze kterého vychází název elementu <ol>, ekvi- valentem odrážkového seznamu je neuspořádaný seznam (angl. unordered list), ze kterého vychází název elementu <ul>. Pro položku seznamu (angl. list item) se používá element <li> .

Tab. 3.3: Elementy pro vytváření seznamu; zdroj: (2)

Tab. 3.4: Atributy elementu <li>; zdroj: (2)

page32image28814096page32image28811184

33 ZNAČKY HTML KÓDU PRO PRÁCI S TEXTEM

page33image28808896 page33image28811600

Obr. 3.2: Zobrazení uspořádaného seznamu se zdrojovým kódem; zdroj: (2)

3.3 Nadpisy

Základní možností úpravy vzhledu zobrazovaného textu je odlišení nadpisu od zbývajícího textu. Kód HTML nabízí jednoduchou párovou značku <hn>...</hn>, kde n j číslice označující úroveň nadpisu. Definováno je šest úrovní, jednotlivé úrovně se liší velikostí písma, poslední šestá úroveň má defi- novánu velikost menší než je standardní velikost písma HTML dokumentu. Z tohoto důvodu i důvodu přehlednosti HTML dokumentu není vhodné využívat na jedné stránce všechny úrovně nadpisů, dvě až tři je obvykle více než dost.

Pomocí tagu <h1> vytváříme hlavní nadpis www stránky. (Pamatujte si, že TAG <h1> smí být v XHTML 1.0 na každé www stránce použit pouze jednou!)

Obr. 3.3: Ukázka html kódu s hlavním nadpisem neuspořádaným seznamem; zdroj: (3)


Týden 2

4.1 Tabulky

Tabulky jsou velmi důležitou součástí webového obsahu. Jsou obsaženy prakticky ve všech portálech a e-shopech, některé z nich jsou viditelné, jiné zase plní roli rozmístění dat na stránce a o jejich exis- tenci na první pohled nevíme. Proto tabulky obsahují celou řadu různých atributů zobrazování, které vidíme přehledně v tabulkách této kapitoly.

Tab. 4.1: Elementy pro zobrazování tabulek; zdroj: Internet sítě

Tab. 4.2: Atributy elementu <table>

page36image28813056 page36image28816384

37 ZNAČKY HTML KÓDU PRO PRÁCI S TABULKAMI Tab. 4.3: Atributy elementu <td>

Značka pro tvorbu tabulky <table>...</table> může být doplněna atributy align (umístění tabulky na stránce) a border (šířka čáry ohraničení tabulky – pokud se nezadá, je standardně nula). Parametr width určuje šířku tabulky, height určuje výšku tabulky (oba parametry lze zadat v pixelech či % šířky stránky).

Značku tabulky doplňují další dvě značky – značka pro vytvoření řádku <tr>...</tr> a značka pro vy- tvoření buňky v řádku <td>...</td>. Obě značky mají parametry width či height (šířka řádku či buňky v pixelech nebo % šířky tabulky) a align (způsob zarovnávání textu v buňkách na daném řádku nebo jen v dané buňce – center, right, left).

page37image28805152 page37image28816800

WEBOVÉ TECHNOLOGIE

38

page38image28359088page38image28359296

Obr. 4.1: Příklad zdrojového kódu pro definici tabulky; zdroj: (2)

Tab. 4.4: Výsledná tabulka předchozího příkladu; zdroj: (2)

page38image28359504


5.1 Obrázky

Obrázky jsou nezbytnou součástí každé webové stránky. Pro vložení obrázku používáme nepárový element <img>. Tento element nelze použít bez atributů, neboť povinným atributem je cesta k ob- rázku. Pokud bude obrázek přímo ve stejném adresáři jako zdrojová html stránka, cesta bude obsa- hovat pouze název obrázku, jako je tomu na Obr. 5.1. Protože obrázků obsahuje většina webových sídel mnoho, doporučuje se na webovém serveru vytvořit adresář např. images a na něj se odkazo- vat v atributu src elementu <img>.

Tab. 5.1: Atributy elementu <img>; zdroj: (3)

V současné době popularity CSS stylů se doporučují atributy width, height a border nahradit stejnoj- mennými vlastnostmi CSS stylu, místo atributů vspace a hspace se doporučuje použít CSS vlastnost margin a zarovnání align je vhodné nahradit CSS vlastností float popřípadě vertical-align.

Obr. 5.1: Zdrojový kód pro zobrazení obrázku; zdroj: (3)

V jazyce XHTML má tag podobu <img />, protože je nepárový, tj. jeho koncová značka se nezapisuje, ale nahrazuje se lomítkem na konci.

<img src=“obrazky/kvetina.jpg“ alt=“Květina“ />

Tag <img /> umožňuje vložit do www stránky obrázek. Do nejdůležitějšího atributu – scr se pomocí rovnítka a uvozovek zapisuje cesta ke zdrojovému obrázku, který se na www stránce zobrazí. Pomocí relativní cesty zapíšeme pouze adresu obrázku (viz Obr. 5.1), pokud se odkazujeme na abslutní umís- tění obrázku, bude cesta vypadat např. takto:

page42image28804528page42image28804944

43 ZNAČKY HTML KÓDU PRO PRÁCI S OBJEKTY C:\Documents\admin\Plocha\www\obrazky\kveti na.jpg

Pozor, jak vidíte, je potřeba zapisovat cestu k obrázku i s danou příponou. Na webu se nejčastěji používají obrázky ve formátu JPEG, GIF nebo PNG.

Rovněž si dávejte pozor na zápis přípony souboru – na webovém serveru NENÍ totéž kvetina.jpg a kvetina.JPG.

5.2 Multimediální objekty

Přehrávání videa a zvuku představuje v XHTML 1.0 docela problém. Závisí na tom, jaké soubory chcete přehrávat, jakou metodu (tagy HTML) pro to použít a zdali má uživatel k dispozici ten či onen internetový prohlížeč a k tomu ještě nainstalován správný plugin.2 Tyto problémy se snaží řešit verze jazyka HTML5 a XHTML5.

Zatím se pro „téměř“ spolehlivou projekci videa požívá přehrávač Adobe Flash. Jednodušší však je využít služby třetí strany. Pro účely prezentace videa na vlastních www stránkách je dobré využít například serveru YouTube.

Vybereme video nebo jej přímo uploadujeme na server YouTube. Poté stačí okopírovat poskytnutý kód a vložit do zdrojového kódu naší www stránky. Praktickou ukázku najdete na Obr. 5.2.

2 Pokud byste rádi vyzkoušeli i další možnosti navštivte: http://www.w3schools.com/html/html_videos.asp

WEBOVÉ TECHNOLOGIE

44

page44image28646512

Obr. 5.2: Zdrojový kód z YouTube; zdroj: (4)

5.3 Multimédia v HTML5

HTML5 je stále ještě připravovaným standardem HTML. Klade si poměrně komplexní a užitečné cíle a snaží se situaci kolem tvorby www stránek především zjednodušit, odtrhnout od spousty doplňu- jících technologií a přinést mnohé přelomové a inovativní možnosti.

HTML5 navazuje nejen na HTML4, ale také XHTML3. Je navržen tak, aby obsahoval vše potřebné bez nutnosti dalších pluginů (např. Flash playeru)k tvorbě animací, přehrávání hudby až k vytvoření slo- žitějších aplikací, které běží přímo v prohlížeči v offline režimu. HTML5 je také multiplatformní (je jedno, jestli používáte tablet nebo smartphone, netbook, notebook, Smart TV či PC). Všechny hlavní prohlížeče podporují mnoho nových prvků HTML5 a API.

45 ZNAČKY HTML KÓDU PRO PRÁCI S OBJEKTY

5.3.1 Multimédia menší závislostí na zásuvných modulech

Pro video, audio nebo vektorovou grafiku už nepotřebujeme Flash nebo SilverLight. Pro audio se používávelmijednoduchýTAG<audio>.Vzávislostinatypuinternetového prohlížeče,lzepřehrávat formáty zvuku mp3, wav a ogg.

Obr. 5.3: Tag audio v HTML5; zdroj: (4)

V případě videa je nový TAG <video>. V závislosti na typu internetového prohlížeče, lze přehrávat formáty zvuku mp4 a ogg.

Obr. 5.4: Tag video v HTML5; zdroj: (4)

5.3.2 Element CANVAS

HTML5 element <canvas> se používá ke kreslení grafiky za běhu, pomocí skriptování (obvykle JavaScript). Element <canvas> je jen kontejner pro grafiku. Musíme použít skript, který grafiku vy- kreslí. Existuje několik metod pro kreslení cest (čar), kvádrů, kruhů, textu a přidávání obrázků.

page45image28706848 page45image28706432page45image28710176 page45image28705184

Obr. 5.5: Element canvas v HTML5; zdroj: (4)


6.1 CSS

Značkovací jazyk (X)HTML vytvoří doslova „kostru“ webových stránek. Jejich výslednou podobu (pakliže se nespokojíme pouze s klasickým bílým pozadím, černým textem atd.) jim ale dají tzv. kas- kádové styly CSS. Zkratka CSS znamená Cascading Style Sheets, neboli doslovně šablony kaskádo- vých stylů. Ve zkratce říkáme pouze kaskádové styly. Tyto styly dokáží pokročile formátovat ele- menty jazyka HTML.

Kaskádové styly (CSS) jsou jazykem pro popis způsobu zobrazení stránek napsaných v jazycích HTML, XHTML nebo XML. Jednoduše řečeno, CSS nám umožňuje naformátovat základní šablonu napsanou (v našem případě) v jazyce XHTML do graficky efektivnější podoby. V podstatě tak mů- žeme říci, že díky CSS jsme schopni na webových stránkách pracovat efektivně s grafikou.

6.1.1 Důvody pro použití kaskádových stylů
I když bychom důvodů pro použití CSS stylů našli mnoho, jejich společným sjednocením by nakonec

zůstali tyto tři hlavní důvody:

  •   Použití CSS stylů ušetří čas.

  •   Stránky, které používají CSS styly mají jednotný vzhled.

  •   Vzniká nám přehledný a dobře citovatelný zdrojový kód.

    První důvod oceníme jak při tvorbě jedné či několika stránek, tak i při tvorbě složitějšího webového portálu. Jistě se atributy HTML elementů opakují a samozřejmě z druhého uvedeného důvodu jsou často totožné. Proto je výhodnější vlastnosti elementů nadefinovat jednou hromadně a pak se na toto formátování odkazovat. Dokážeme si jistě představit tu dlouhou práci při editaci stránek, pokud bychom chtěli drobně upravit jejich vzhled. Editace atributů stovek elementů by mohla zabrat tolik času jako samotný návrh nového webu. Při změně barev, formátování, velikosti a dalších atributů nám tedy stačí editovat pouze styl, který se aplikuje na jednotlivé elementy ve všech stránkách apli- kace. Stránky, které jsou součástí jednoho webového sídla, musí mít vzhled jednotný a za použití CSS stylů máme také přehledný zdrojový kód, který můžeme v případě nutnosti lépe editovat.

6.1.2 Tři způsoby zápisu CSS

Existují 3 způsoby, jak vložit do dokumentu XHTML styly CSS. První dva způsoby umožňují zápis přímo do dokumentu XHTML (nepraktické, nepřehledné a neefektivní), třetím se v dokumentu

49 KASKÁDOVÉ STYLY XHTML pouze odkazujeme na externí soubor (ideální, protože tím oddělíme obsah – html dokument

od formátování – soubor se styly CSS).

1. Přímý inline zápis stylu pomocí atributu style (styly jsou přímou součástí počátečních značek jed- notlivých HTML tagů – jak vidíte níže, dochází tak k nežádoucímu míchání obsahu a jeho formáto- vání):

Ukázka:
<p style="color: red; text-decoration:underline">Tento odstavec bude červený a podtržený.</p>

2. Zápis stylů do elementu style (styly jsou opět přímou součástí html dokumentu, zapisují se jako přímá součást hlavičky www stránky):

Ukázka:

<style type="text/css"> p{

color: red;

text-decoration: underline; }

</style>
3. Připojení externího souboru pomocí tagu <link />.

Třetí způsob je pro své nesporné výhody nejvyužívanější. Uvedeme ty nejzásadnější plusy:

  •   Oddělení obsahu dokumentu od jeho formátování.

  •   Možnost využít jeden soubor CSS pro více dokumentů (odpadá duplicita CSS stylů, není potřeba styly na každé stránce zapisovat znovu).

  •   Přehlednější zápis pro vývojáře.

  •   Rychlejší zobrazení v internetovém prohlížeči (soubor je po dobu brouzdání po stránkách

    uložen v operační paměti klienta).
    Dále proto budeme styly CSS umisťovat vždy do externího souboru (přípona .css).

    Poznámka: Všimněte si rozdílu pro označení komentářů v dokumentu HTML (<!—text komentáře - ->), kdežto v CSS (/* text komentáře */).

WEBOVÉ TECHNOLOGIE 50

6.2 CSS – syntaxe

Jazyk CSS sestává z tzv. pravidel. Každé pravidlo obsahuje selektor a blok deklarací. Každý blok de- klarací pak obsahuje seznam deklarací a každá deklarace sestává z vlastnosti, následuje dvojtečka: a hodnota vlastnosti. Každá deklarace končí středníkem;

Obr. 6.1: Příklad pravidla CSS; zdroj: (4)

Celý výše uvedený blok je pravidlo, „body“ je selektor, v závorkách blok deklarací. Řádek „ba- ckground-color: white;“ je deklarace samotná, „background-color“ je vlastnost a „white“ je hod- nota této vlastnosti.

Celý kód v uvedeném příkladu je vztažen k elementu těla www stránky <body>, což znamená, že vlastnosti tohoto pravidla ovlivní vzhled celé www stránky.

  •   nastavuje barvu pozadí stránky na bílou (background-color: white;),

  •   barvu veškerého textu na černou (color: black;)

  •   a vnější okraje celé stránky na hodnotu 10 pixelů (margin: 10px;).

6.2.1 Selektory
CSS definuje mnoho různých selektorů, které obvykle můžeme kombinovat. Základní selektory mají

stejný název jako příslušné HTML TAGY (např. body, h1, p, atd). Uveďme:
body – deklarace pro selektor body se vztahují na formátování celého těla www stránky.

body p – tyto deklarace budou platit pro všechny elementy p (resp. odstavce), které se nachází v elementu body (uvnitř těla www stránky), v jakékoliv hloubce.

.trida – tyto deklarace budou platit pro všechny elementy, které mají v HTML nastavenou třídu trida. Selektor třídy se používá jako atribut class html elementu a před definicí stylu jeho název předchází tečka. Selektor class ohraničuje své vlastnosti a hodnoty ve složených závorkách.

Třída se nastavuje pomocí HTML atributu class. V dokumentu HTML se pak odkážeme například takto:

page50image28368816

51

KASKÁDOVÉ STYLY

<p class=“trida“>Nastylovaný odstavec</p>

Obr. 6.2: Použití selektoru class pro definici více elementů za použití kaskádového stylu; zdroj: (3)

#main – tyto deklarace budou platit pro definici nějakého stylu s více vlastnostmi, který budeme aplikovat na určitý typ elementu. Tento styl je vhodné pojmenovat, neboli přiřadit jednoznačný identifikátor tzv. id, na které se pak budeme odkazovat. Id tak bude atributem html elementu.

Obr. 6.3.: Použití selektoru id kaskádového stylu; zdroj: (3) V dokumentu HTML se pak odkážeme například takto:

<h2 id=“main“>Hlavní nadpis</h2>

Třídy a Identifikátory byly původně zavedeny pro to, aby bylo možné vytvářet více verzí stylů pro jednotlivé elementy. Jinak bude graficky formátován obyčejný odstavec <p> a jinak může vypadat odstavec s třídou – např. <p class=“trida“></p>.

page51image28670592page51image28671216

WEBOVÉ TECHNOLOGIE 52

Na webu3 W3Schools si můžete vyzkoušet, jak se pracuje se styly CSS a rovnou si prohlížet výsledky změn které provádíte. Ve zkoušečce je využit druhý způsob vložení stylu do dokumentu, ovšem to nám jistě nebrání v testování:

Obr. 6.4.: CSS Zkoušečka; zdroj: (4)

Týden 3

V této kapitole se konečně dostáváme ke konkrétnímu formátování pomocí kaskádových stylů.

7.1 Formátování vlastností písma
Pro nastavení fontu můžeme používat pět základních vlastností CSS, které jsou uvedeny v tabulce

7.1.

Tab. 7.1: Nastavení fontu pomocí CSS; zdroj: (3)

Nyní je vhodné uvedené vlastnosti demonstrovat na příkladu. Na Obr. 7.1 vidíte zdrojový kód dvou odstavců s odpovídajícím výstupem v prohlížeči. Pod tímto výstupem je vyobrazen obsah kaskádo- vého stylu obou odstavců.

Obr. 7.1: Příklad nastavení fontu pomocí CSS; zdroj: (3)

page55image28770720page55image28780496

WEBOVÉ TECHNOLOGIE 56

Vlastnosti fontu plně nahrazují nevhodný element <font> , který se nedoporučuje používat. Další nedoporučované html elementy, které jsme si představili v předchozí kapitole, se týkaly podtržení a přeškrtnutí písma. Tyto vlastnosti textu, pokud je potřebujeme použít, se nahrazují vlastností CSS stylu text-decoration. Tyto a také další vlastnosti písma, z nichž nejčastěji používáme definici barvy a zarovnávání, jsou uvedeny v tabulce 7.2.

Tab. 7.2: Nastavení formátu textu pomocí CSS; zdroj: (3)

Z uvedené tabulky si na příkladu ukážeme použití některých vlastností. Nadefinujeme si tři html ele- menty a nastavíme u nich zmíněné podtržení, přeškrtnutí, zvolíme barvu, zarovnávání a ukážeme si také nastavení mezer mezi písmeny a slovy. Pro písmo elementu h2 zvolíme kapitálky.

page56image28826944 page56image28821744

57 POKROČILÉ PRVKY JAZYKA CSS

page57image28786896

Obr. 7.2: Zdrojový kód CSS vlastností nastavení formátu textu; zdroj: (3)

Výsledné nastavení tří nadpisů pomocí CSS stylu vidíme v okně prohlížeče na Obr. 7.3.

Obr. 7.3: Formátování elementu podle zdrojového kódu z Obr. 7.2; zdroj: (3)

7.2 CSS formátování pozadí elementu

Jako pozadí nějakého elementu můžeme zvolit barvu nebo obrázek. Barvu opět definuje třemi mož- nostmi: jménem, rgb čísly nebo hexa-kódem. Obrázek je nejčastěji ve formátech gif, png nebo jpg. U obrázku je nutné počítat s obtížnou prací díky jeho rozměrům. Nemůžeme obrázek nějak defor- movat či roztahovat změnou jeho proporcí. Máme ale některé možnosti fixace, uchycení, skrolování či opakování. Tyto možnosti jsou uvedeny v tabulce 7.3.

page57image28798544

WEBOVÉ TECHNOLOGIE

58

Tab. 7.3: Pozadí elementu; zdroj: (3)

Nejen u obrázků, ale obecně u mnoha elementů, nám při definici plochy dělá problém nastavení počátku elementu. Abychom neměli např. písmo natlačené příliš na okraj stránky, použijeme okraje tzv. box modelu html elementu. Tento box model určuje plochy kolem html elementu, které lze pomocí vlastností CSS nastavit na požadovanou hodnotu.

Obr. 7.4: Box model html elementu; zdroj: (3)
Tab. 7.4: Box Model 
návrhu rozložení (tzv. design& layout); Zdroj: (3)

page58image28787936 page58image28800624page58image28797296 page58image28797920

59 POKROČILÉ PRVKY JAZYKA CSS

Na praktickém příkladu si ukážeme nastavení obrázku na pozadí elementu a také vnější okraj – mar- gin. Obrázek nebudeme na pozadí opakovat a umístíme jej doprava. Element odstavec bude mít ještě nastavenou barvu pozadí a hodnoty vnějších okrajů.

Obr. 7.4: Zdrojový kód CSS formátování pozadí a okraje; zdroj: (3)

Vlastnosti odstavce jsou dle zdrojového kódu z Obr. 7.4 deklarovány jako CSS vlastnosti elementu, ale i pomocí selektoru class s tečkovou konvencí. Výsledný vzhled odstavce v prohlížeči vidíme na Obr. 7.5.

Obr. 7.5: Zobrazení formátování odstavce podle zdrojového kódu obrázku 7.4; zdroj: (3)

Rovněž při nastavení proporcí je vhodné místo atributů html elementů použít CSS vlastnosti. Nasta- vení se provádí obvykle v pixelech nebo procentuálně. Seznam vlastností pro nastavení proporcí elementů je uveden v tabulce 7.5.

page59image28655616 page59image28661648

WEBOVÉ TECHNOLOGIE

60

Tab. 7.5 Velikost elementu; zdroj: (3)

Nastavení proporcí html elementu si ukážeme na příkladu nastavení rozměru obrázku. Na obrázku 7.6 je uveden zdrojový kód s definicí tří velikosti pomocí selektoru class, na Obr. 7.7 je výsledný příklad zobrazen v prohlížeči.

Obr. 7.6: Zdrojový kód CSS nastavení velikosti elementu; zdroj: (3)

Obr. 7.7: CSS nastavení velikosti elementu podle zdrojového kódu z Obr. 7.6; zdroj: (3)

page60image28579936 page60image28588048page60image28582848

61 POKROČILÉ PRVKY JAZYKA CSS

Tato kapitola neobsahuje kompletní seznam CSS vlastností, ale vybírá pouze ty nejdůležitější. Se- znam dalších elementů najdeme ve W3C specifikaci nebo na portálech zabývajícími se kaskádovými styly.

Seznam vybraných portálů s popisem CSS vlastností

  •   http://www.w3.org/Style/CSS/

  •   http://www.jakpsatweb.cz/css/css-vlastnosti-hodnoty-prehled.html

  •   http://www.w3schools.com/css/css_reference.asp


    8.1 Základy formulářů

    Formuláře jsou dnes součástí většiny webů. Nejčastěji se setkáme s emailovými formuláři, registrač- ními formuláři nebo formuláři umožňujícími vložit příspěvek do diskuze. Formuláře jsou rozhraním v rámci komunikace uživatele s webovou aplikací. (X)HTML obsahuje prvky, pomocí nichž lze vytvá- řet interaktivní formuláře nebo vkládat ovládací prvky do dokumentu. Informace získané pomocí interaktivního formuláře jsou předány nějakému skriptu na straně serveru, který je dále zpracuje. Formulář má proto dvě hlavní části – viditelnou část v (X)HTML stránce a neviditelnou část na straněserveru (skript).

    8.1.1 Základní principy konstrukce formuláře
    Obsahem formulářů jsou různé funkční prvky, které umožňují uživateli zadávat nejrůznější infor-

    mace.

    Formuláře zahrnují textová a zaškrtávací pole, rolovací seznamy, tlačítka, přepínače atd. Vytvořit takovýto formulář není pro člověka znalého základů HTML a CSS žádný problém. Problém nastává až v momentě, kdy se data získaná formulářem mají někam odeslat nebo uložit, případně nějakým způsobem zpracovat. A na tuto činnost je již HTML krátké. Je potřeba znalosti programovacích ja- zyků, pomocí nichž se definují další operace, které se získanými údaji z formulářů manipulují. Např. odesílají data na email adresáta, ukládají data do úložiště (soubory, databáze) nebo pomocí těchto dat filtrují výsledky zobrazení produktů e-shopů (3).

    Celý formulář je vždy ohraničen elementem form. Uvnitř tohoto kontejneru se vyskytují veškeré ovládací prvky (tlačítka, textová pole, zaškrtávací pole, rolovací seznamy atd.) potřebné pro daný formulář. Vzhled těchto ovládacích prvků závisí z velké části na použitém prohlížeči, ale funkce je vždy stejná. Kromě ovládacích prvků se uvnitř formuláře mohou vyskytovat veškeré ostatní prvky běžně používané v těle (X)HTML dokumentu. Hlavní účel elementu form spočívá ve sdružení ovlá- dacích prvků do jednoho bloku, aby se s nimi dalo pracovat. Formulářů se může v jednom HTMLdokumentu vyskytovat libovolný počet, ale nesmějí se vnořovat do sebe.

    <form[ atributy]>
    ... Prvky formuláře (select, input, textarea) ... ... Další různé (X)HTML prvky ...
    ...
    </form>

    65 ZNAČKY HTML KÓDU PRO PRÁCI S FORMULÁŘI

    8.1.2 Formulářové značky
    V této kapitole budou vysvětleny všechny značky, které jsou podstatné z hlediska našeho zpracování

    formuláře. U jednotlivých značek jsou popsány i všechny atributy podstatné pro další zpracování.

    <form> - párová značka, která vymezuje formulář v daném dokumentu <form id=”identifikátor”

    name=”unikátní jméno formuláře”
    action=”odkaz na script pro zpracování formuláře” method=”GET|POST”
    accept=”seznam MIME typů obsahu formuláře” enctype=”typ kódování odesílaných dat” >

    ... ovládací prvky ...

    </form>

    •   id - unikátní identifikátor prvku, atribut „id“, sdílí totožný prostor názvů s atributy „name“

      (name má přednost před id, jsou-li uvedeny oba, jinak může být použit jeden nebo druhý),

    •   name - unikátní jméno formuláře,

    •   action - atribut určuje URI adresu skriptu, který formulář zpracuje; může to být URI s proto- kolem http nebo mailto,

    •   method - atribut specifikuje http metodu, která bude použita pro odeslání dat formuláře

       Metoda GET – předává data pomocí URL. Obsah formulářových polí se předá jakou součást adresy URL, která může vypadat takto:

      http://www.example.cz/skript-zpracovani.html?jmeno=honza&odeslat=Odeslat%jméno Obsah formulářových polí (hodnota zadaná uživatelem, nebo přednastavená hodnota atri- butu value) se načte do tzv. superglobální proměnné v poli GET, odkud je dostupná pro další zpracování.

      Tato metoda není ideální pro všechny případy použití, protože se data odeslaná formulá- řem přenášejí viditelně v URL a podléhají tak určitému bezpečnostnímu riziku. Taktéž množství dat přenesených touto metodou je značně omezené.

      2.Metoda POST-jevhodnáproobsáhlejšídata.Odesílanádatajsouskrytaauživateljenemůže ve výsledku modifikovat jako v případě metody GET (POST bezpečnější oproti metodě GET).

    •   accept - seznam MIME typů (oddělených čárkou), jehož prostřednictvím server zpracováva- jící tento formulář jej bude moci korektně ovládat,

    WEBOVÉ TECHNOLOGIE 66

     enctype - zakódování obsahu (text/plain | multipart/form-data | application/x-www-form- urlencoded); použití v případě, že metoda odesílání je POST; implicitní hodnota je “applica- tion/x-www-form-urlencoded”; je li v odesílaných datech obsažen soubor nebo odesíláme ne-ASCII znaky, musí být jako hodnota enctype zadána “multipart/form-data”.

    <input> - nepárová značka, která slouží k definici jednoho ovládacího prvku typu vstupní pole

    <input id=”identifikátor”
    type=”typ prvku“
    name=”jméno prvku” value=”hodnota prvku” maxlength=”maximální počet znaků” accept=”typ souboru” alt=”alternativní text” checked=”zaškrtnutí prvku” readonly=”prvek pouze pro čtení” disabled=”prvek vypnutý” >

    •   id - unikátní identifikátor prvku, atribut „id“, sdílí totožný prostor názvů s atributy „name“ (name má přednost před id, jsou-li uvedeny oba, jinak může být použit jeden nebo druhý),

    •   type – typ prvku,

       text – implicitní typ; jednořádkové textové pole; atribut value specifikuje počáteční hod- notu,

      password – podobné jako text; vpisovaná hodnota je zastírána např. hvězdičkami,

      •   checkbox – zaškrtávací políčko; atribut value specifikuje hodnotu vracenou v případě za- škrtnutí políčka; při odesílání formuláře se odesílají pouze zaškrtnuté ovládací prvky chec-

        kbox,

      •   radio – volba právě jedné možnosti; prvky typu radio se pomocí stejného jména sdružují do

        skupin (je-li jeden zapnut, tak se ostatní nastaví jako vypnuto); ve skupině prvků typu radio je implicitně nastaven ten, který má nastaven atribut checked (pokud takto žádný nastaven není, pak se nastavuje první prvek ve skupině); atribut value specifikuje hodnotu vracenou pro danou volbu,

        submit – tlačítko pro odesílání dat na server; atribut value specifikuje popis tlačítka,

      •   reset – tlačítko pro obnovení implicitních hodnot; atribut value specifikuje popis tlačítka ,

      •   hidden – skryté pole; hodnota je odesílána s formulářem; atributem value lze definovat

        pevnou hodnotu nezadávanou uživatelem,

      •   image – tlačítko s obrázkem; atribut src specifikuje URI obrázku; tlačítko odesílá data z for-

    muláře a souřadnice odpovídající kliknutí na obrázek; hodnoty jsou měřeny,

    67

    ZNAČKY HTML KÓDU PRO PRÁCI S FORMULÁŘI

    •   v pixelech od levého a horního okraje; souřadnice x a y se odesílají jako hodnoty „name.x = x“ a „name.y = y“, kde name je hodnota atributu name,

    •   file – pole pro vybrání souboru; umožňuje spolu s formulářem odeslat na server jeden nebo více lokálních souborů; atributem accept lze vymezit přípustné typy souborů,

    •   button – tlačítko bez implicitní činnosti; činnost je definovaná pomocí skriptu.

    •   name – jméno prvku; musí být v rámci formuláře jednoznačné; ve všech prvcích kromě typu

      „submit“ a „reset“ je tento atribut vyžadován,

    •   value – počáteční hodnota prvku dle typu

       text, password, hidden – počáteční hodnota prvku,
       checkbox, radio – požadován; definuje výsledek, je-li prvek vybrán kliknutím,  submit, reset, button – text na tlačítku,
       image – symbolický výsledek přenášený na skript,
       file – nemůže být použit s tímto typem.

    •   maxlength – maximální počet znaků akceptovatelných u prvků „text“ a „password“,

    •   accept – seznam MIME typů přípustných pro pole typu „file“, které je ochoten skript zpraco-

      vávající formulář přijíma,t

    •   alt – alternativní text,

    •   checked – implicitní zaškrtnutí pole typu „checkbox“ nebo implicitní volba pole typu „radio“,

    •   readonly – pole je pouze pro čtení; atribut lze použit pouze s typem „text“,

    •   disabled – znepřístupnění ovládacího prvku.

      <textarea> - párová značka, která se používá pro definici víceřádkového vstupního pole formuláře. Smí se vyskytnout pouze v prvku „form“ a nesmí být vnořována. Text uzavřený mezi značkami je implicitní zobrazovaný text. Zalomení řádku je zachováno a délka textu není omezena.

      <textarea id=”identifikátor” name=”jméno prvku” readonly=”prvek pouze pro čtení” disabled=”prvek vypnutý” >

      ... Text ... </textarea>

      •   id - unikátní identifikátor prvku, atribut „id“, sdílí totožný prostor názvů s atributy „name“ (name má přednost před id, jsou-li uvedeny oba, jinak může být použit jeden nebo druhý)

      •   name – jméno prvku; musí být v rámci formuláře jednoznačné (odesílá se na server)

    WEBOVÉ TECHNOLOGIE 68

    •   readonly – pole je pouze pro čtení, není možná modifikace

    •   disabled – znepřístupnění ovládacího prvku (nelze zapsat text nebo ovládací prvek vybrat)

      <select> - párová značka, pomocí které lze vytvořit rozbalovací seznam a slouží ke specifikaci na- bídky s řadou volitelných vstupů definovaných pomocí prvku „option“. V prvku „select“ se předpo- kládá použití alespoň jednoho prvku „option“. Prvek „select“ může obsahovat přednastavené volby. Chování UA (user agent – prohlížeč) při nestandardním nastavení není nijak specifikováno a závisí to čistě na prohlížeči.

      <select id=”identifikátor” name=”jméno prvku”

      multiple=”výběr více položek”

      disabled=”prvek vypnutý” > <optgroup>...

      <option> ... </option> ...

      </select>

    •   id - unikátní identifikátor prvku, atribut „id“, sdílí totožný prostor názvů s atributy „name“ (name má přednost před id, jsou-li uvedeny oba, jinak může být použit jeden nebo druhý)

    •   name – jméno prvku; musí být v rámci formuláře jednoznačné (odesílá se na server)

    •   multiple – povoluje možnost výběru více než jedné položky současně

    •   disabled – znepřístupnění ovládacího prvku (ovládací prvek nelze vybrat)

      <optgroup> - párová značka, která slouží k definici skupiny nabídek v prvku „select“. Značka se smí vyskytnout pouze v prvku „select“ a musí obsahovat alespoň jeden prvek „option“.

      <optgroup id=”identifikátor” label=”návěstí pro skupinu voleb” disabled=”prvek vypnutý” >

      <option> ... </option>

      ...

      </optgroup>

    •   id - unikátní identifikátor prvku

    •   label–nadpis/návěstískupiny nabídek

    •   disabled – znepřístupnění skupiny nabídek (nelze provádět volby)

    69 ZNAČKY HTML KÓDU PRO PRÁCI S FORMULÁŘI <option> - párová značka, pomocí které se definuje jedna položka nabídky uvnitř prvku „select“.

    Značka se může vyskytovat pouze v prvku „select“ nebo „optgtoup“ a nelze ji vnořovat.

    <option id=”identifikátor” value=”hodnota”

    selected=”výběr více položek”

    disabled=”prvek vypnutý” > ... text nabídky ...

    </option>

    •   id - unikátní identifikátor prvku

    •   value – hodnota prvku pro odeslání v případě výběru; pokud není uvedena, tak se odešle obsah nabídky

    •   selected – specifikuje implicitně vybranou nabídku

    •   disabled – znepřístupnění nabídky (volba nelze vybrat)

      <button> - párová značka, která slouží k definici tlačítka v dokumentu.

      <button id=”identifikátor” type=”typ prvku“

      name=”jméno tlačítka” value=”hodnota prvku” disabled=”prvek vypnutý” >

      ... nápis / obrázek tlačítka ...

      </button>

    •   id - unikátní identifikátor prvku, atribut „id“, sdílí totožný prostor názvů s atributy „name“

      (name má přednost před id, jsou-li uvedeny oba, jinak může být použit jeden nebo druhý)

    •   type – typ tlačítka

       button – jednoduché tlačítko (ovládání skriptem)
       submit – tlačítko pro odesílání formuláře na server (implicitní hodnota)  reset – tlačítko pro obnovení implicitních hodnot formuláře

    •   name – jméno tlačítka

    •   value – definuje výsledek pro tlačítko typu „button“

    •   disabled – znepřístupnění tlačítka (není možnost ovládání).


      V předchozích kapitolách jsme si vysvětlili podstatu formátování pomocí kaskádových stylů. Nyní přejdeme ještě o kousek dále a ukážeme si, jakým způsobem využijeme zkušenosti z předchozích kapitol při návrhu stránky.

      Dlouhou dobu se řešilo, jakým způsobem rozložit celý obsah webu do samostatných kompaktních bloků. Chtěli jsme mít na svých stránkách třeba horní blok jako záhlaví celé stránky – např. s logem společnosti, názvem školy atp. Poté levý sloupec pro menu stránek s hypertextovými odkazy a pak větší blok pro obsah jednotlivých stránek. Dříve se k těmto účelům používaly Rámy, tzv. frames.

      9.1 Rámy

      Pomocí rámů lze rozdělit obrazovku na několik částí, v každé pak může být jiný obsah. Rámy jsou rozumným řešením pro navigaci. V jednom okně je menu, které se nemění a v druhém obsah stránky, který se mění.

      9.1.1 Logika tvoření rámů

      Popíšeme, jak se rozdělí obrazovka (horizontálně na poloviny a dolní polovinu na polovinu). Rámy se vždy deklarují v sekci <head> a </head> Základem je značka <frameset>, která určuje, jak se stránka rozdělí.

      Obr. 9.1: Použití značky <frameset>; zdroj: https://www.tvorba-webu.cz/xhtml/ramy.php

      Nejprve rozdělíme obrazovku na 20 % a 80 % horizontálně, do 20 % oblasti vložíme stránku, a rám 80 % rozdělíme opět na 20 % a 80 %, ale vertikálně

      page72image28360912

      Složitější deklarace

      page72image28361328

      73 ZNAČKY HTML KÓDU PRO PRÁCI S RÁMY

      •   Rozdělíme obrazovku horizontálně na dvě části a do té první vložíme nějakou stránku.

      •   Rozdělíme obrazovku vertikálně na dvě části a do té první vložíme stránku.

      •   Zbytek rozdělíme horizontálně na dvě části a do té druhé vložíme obsah.

      •   Zbytek opět rozdělíme vertikálně na dvě části, do té druhé vložíme stránku.

      •   Zbytek rozdělíme horizontálně na dvě části a vložíme do nich obsah.

        A nyní přijde přepis na HTML, kdykoli dělíme obrazovku, použijem tag <frameset>, kdykoli vkládáme obsah, použijeme <frame>

        Obr. 9.2: Rozdělení obrazovky pomocí značky <frameset>; zdroj: https://www.tvorba-webu.cz/xhtml/ramy.php

      page73image28379584 page73image28390400 page73image28381872 page73image28382912 page73image28377088 page73image94827264page73image28380832 page73image94827456

      WEBOVÉ TECHNOLOGIE 74

      9.2 Layout www stránek

      Rámy jsou ale z více dnes závažných důvodů již zavržené řešení a byly nahrazeny tzv. tabulkovým layoutem. Obsah webu byl celý uvozen do jedné velké tabulky a bylo po starostech. Nicméně i toto řešení není z nejmoudřejších a proto se dnes vytváří tzv. CSS layout.

      page74image28378336

      Obr. 9.3: CSS Layout; zdroj: Coding Horror. Lets Build Grid. http://blog.codinghorror.com/lets-build-a-grid/

      Pomocí layoutu si můžeme webovou stránku rozdělit do oblastí, do kterých pak vkládáme dílčí části našich stránek. Na internetu najdete dokonce spoustu on-line generátorů, které dle vašeho zadání vytvoří potřebný styl CSS4.

      9.2.1 CSS pozicování
      CSS pozicování je jeden ze způsoby návrhu layoutu, používá jej většina moderních webů a portálů.

      page74image28378544

      4 Např: http://www.cssportal.com/layout-generator/

      Obr. 9.4: CSS pozicování; zdroj: (4)

      75 ZNAČKY HTML KÓDU PRO PRÁCI S RÁMY

      Pozicování elementů html nám umožňuje umístit objekt na stránku doslova, kam chceme. Pozicovat můžeme absolutně nebo relativně. Z názvu termínu absolutně vyplývá, že daný objekt se bude na- cházet přesně v souřadnicích, které mu určíme. Relativně naopak znamená posunutí v různých smě- rech oproti běžné poloze. V Tab. 9.1 jsou definovány CSS vlastnosti pro pozicování elementů. Všim- něme si, že vlastnost left určuje posunutí doprava, můžeme si tuto vlastnost vysvětlit jako posunutí v pixelech z levého okraje stránky.

      Tab. 9.1 CSS definice pozicování; zdroj: (4)

      V souvislosti s pozicováním se můžeme zejména u obrázku setkat s problémem obtékání textem. Defaultně prvky obtékané nejsou, výchozí hodnotou je none. V Tab. 9.2 jsouobsaženy CSS vlastnosti pro obtékání elementu. Podmínkou možnosti obtékání je nastavení šířky obtékaného elementu. Vlastnost clear určuje vykreslování elementu až pod obtékanými prvky.

      Tab. 9.2 CSS definice obtékání prvku; zdroj: (4)

      Nejvhodnějším vysvětlením problematiky pozicování je ukázka praktického příkladu. Navrhneme si layout webových stránek, který bude pozicován absolutně. V externím souboru pozicovani.css na- definujeme souřadnice absolutního pozicování. U jednotlivých částí layoutu ještě nastavíme dílší vlastnosti jako barva pozadí, písma apod. Výsledný obsah souboru se zdrojovým kódem vidíme na obrázku 9.5.

      page75image28384576 page75image28381248

      WEBOVÉ TECHNOLOGIE

      76

      page76image28374432

      Obr. 9.5: Pozicování layoutu stránky; zdroj: (4)

      V hlavním souboru již budeme pracovat pouze s elementy <div>, jejichž id se bude odkazovat na vlastnosti kaskádových stylů. Zdrojový kód html jednotlivých stránek tak bude přehledný a snadno editovatelný. Element <div id=“vlevo“ > bude obsahovat zmíněné menu s odkazy na další stránky, které budou s totožným layoutem, pouze s rozdílným informačním obsahem v elementu <div id=“hlavni“ >. Element <div id=“zahlavi“ > je určen pro zobrazení logo či názvu stránek v horní části stránky, tento element bude rovněž shodný pro všechny stránky, které je možné zobrazit z navigač- ního menu.

      Na Obr. 9.6 vidíme přehledný zdrojový html kód jedné z navržených stránek. Výsledný layout strá- nek je zobrazen na Obr. 9.7. Jedná se o ukázkový příklad layoutu, stránky jsou tudíž prázdné, do jednotlivých částí jsme zapsali pouze informativní text.

      page76image28376304

      Obr. 9.6: Html kód rozmístěním elementů <div> pro pozicování layout; zdroj: (4)

      77

      ZNAČKY HTML KÓDU PRO PRÁCI S RÁMY

      page77image28384160

      Obr. 9.7: Výsledný layout webu podle zdrojového kódu z obr. 9.6; zdroj: (4)

Týden 4

10.1 Odkazy


Hypertextové odkazy, které jsou nepostradatelnou součástí www stránek. Umožňují nám pouhým

kliknutím myši přenést se na cíl odkazu.

<a href=“http://www.seznam.cz“ title=“Seznam“>Seznam</a>

Hypertextový odkaz se uvozuje do párového tagu <a>. Má opět povinné atributy, které je potřeba přesně dodržet. Tím nejdůležitějším je podobně jako u obrázku cíl odkazu. Zapisuje se zde pomocí atributu href. Opět pomocí rovnítka a uvozovek nastavíme cíl odkazu. Např. portál seznam. Hyper- textový odkaz mívá ještě doporučován atribut title, což je text, který se uživateli zobrazí v bublině při najetí kurzorem na odkaz.

Text, který se v prohlížeči jako odkaz zobrazí je uvozen mezi počáteční a koncovou značku tagu <a>.

Stejně jako v případě cesty k obrázku se i u hyper. odkazů mohou použít relativní i absolutní cesty. Můžeme se odkazovat na jinou www stránku, třeba příklad 1, nebo také na fotografii uloženou ve složce obrazky.

<a href=“obrazky/foto.jpg“ title=“Pěkná fotka“>Ukaž foto</a>
V případě, že byste se chtěli odkazovat na stránku prvního příkladu (první-priklad.html) a máte ji

stejně jako třetí příklad uloženou ve složce kapitola 2, vypadal by odkaz následovně:

<a href=“prvni-stranka.html“ title=“První stránka“>Moje prvotina</a>

Obr. 10.1: Relativní odkazování; zdroj: (3)

page80image28374016

81 ZNAČKY HTML KÓDU PRO PRÁCI S ODKAZY

Jak jsme již řekli, odkazy jsou v podstatě nejdůležitější částí webových stránek. Povinným atributem je zde cíl odkazu, který je zadán URL adresou. Může se jednat o stránku ve stejném adresáři webové aplikace, nebo o vzdálený link odkazující se na adresu jiného serveru. Důležitým atributem je target, který určí, zda se odkazující link otevře do nového resp. stejného okna prohlížeče.

Obr. 10.2: Zdrojový kód pro odkazy; zdroj: (4)

page81image28329392 page81image28336256

Obr. 10.3. Zobrazení obou odkazů z Obr. 10.2; zdroj: (4)

Pohledem na atributy elementu ) <a> (Tab. 10.1) vidíme atribut name sloužící po pojmenování ně- jakého úseku stránky, kterému říkáme záložka. Pokud tedy použijeme tento mechanismus, můžeme použít element <a> i pro odkazy uvnitř jedné stránky. Tento mechanismus je oblíben u online ma- nuálů, které v horní části stránky uvedou obsah s relativními odkazy na kapitoly, které jsou psány zhora dolů za sebou a link na záložky pomocí atributu name tak umožní snadný pohyb uvnitř roz- sáhlého textu.

Tab. 10.1: Atributy elementu <a>; zdroj: (4

Jiným typem odkazů jsou záložky. Takový odkaz vám otevře vybranou stránku na vybraném místě, třeba uprostřed (odroluje na vybrané místo). Záložky se vytvářejí atributem name u tagu <a>.

Nějaký text <a name="zalozka" /> Pokračování stránky

Záložky není nijak vidět, ale můžeme se na ní přesunout odkazem, tak aby text následující po záložce byl na prvním řádku prohlížeče.

page81image28343744

WEBOVÉ TECHNOLOGIE

82

<a href="soubor.html#zalozka">Na záložku</a>

Tento odkaz otevře stránku soubor.html. Všimněte si nové věci v URL #zalozka, tímto způsobem se zadává jméno záložky. S použitím záložek může vzniknout problém, pokud se nacházejí u spodního okraje stránky. Prohlížeč je v takovém případě nemůže zobrazit na prvním řádku, ale až dále, pouze doroluje dokument až na konec.

Speciálním odkazem je odkaz na e-mail, který umožňuje otevřít e-mailového klienta (MS Outlook).

URL tohoto odkazu se skládá ze speciálního protokolu mailto: za kterým následuje e-mailová adresa. Po kliknutí by se mělo otevřít okno Vašeho e-mailového klienta s novou zprávou a vyplněnou polož- kou adresát. Tento odkaz nefunguje vždy, ne každý má poštovního klienta, proto je dobré napsat do textu odkazu samotný e-mail (5).

10.1.1 Formátování odkazů

Asi mi dáte za pravdu, že modro-fialové odkazy se nebudou vyjímat na každém webu. Proto existuje možnost změnit styl odkazů pomocí CSS. Styl odkazů lze nastavit pomocí pseudoelementů v exter- ním souboru nebo uvnitř elementu style.

Příklad:

a {font-size: 15px}
a:link {color: black}
a:hover {background-color: gray} a:visited {color: red}
a:active {color: blue}

První řádek nastavuje velikost písma odkazů. Na dalších řádcích se setkáváme s pseudoelementy.

page82image94654976

Příklad:

   

a:link nastavuje styl nenavštívených odkazů, a:hover - styl odkazů po najetí myši,

a:visited - navštívené odkazy, a:active - aktivní odkazy (5).


11.1 XML

XML (eXtensible Markup Language – rozšiřitelný značkovací jazyk) je obecný značkovací jazyk stan- dardizovaný konsorciem W3C. Jedná se o velmi flexibilní textový formát odvozený z SGML. Jeho po- užití je především pro ryze strukturované dokumenty, tj. dokumenty obsahující strukturované nebo strukturovatelné informace. XML není určen jen pro texty, ale poradí si s jakýmikoliv daty i databá- zovými.

Vemme si například nějakou HTML stránku nějaké firmy, která zde prezentuje své výrobky či sl užby. Pro člověka jsou všechna data jednoduše čitelná. Pokud například uvidíme adresu firmy, poznáme, že se jedná o její adresu.

Obr. 11. 1: Zdrojový kód HTML stránky; Zdroj: (3)

V jazyce XML bychom mohli adresu firmy popsat pomocí následujících značek.

Obr. 11.2: Zdrojový kód stránky v jazyce XML; Zdroj: (3)

Takto strukturovaný dokument je pro počítač mnohem snáze čitelný – ví přesně, kde co hledat. Díky tomu je možno v XML umístit velké množství informací.

Jazyk XML má široké využití. Pomocí XML je možno strukturovat data dat tak, aby byla použitelná při databázovém zpracování. Jazyk XML má samozřejmě další možnosti. Ať už se jedná o výměnu dat mezi pobočkami firem (business-to-business applications), webové stránky, elektronické publi- kování či úložiště dat pro programy.

page85image28771760 page85image28771552

WEBOVÉ TECHNOLOGIE 86

11.1 Základní syntaxe XML 11.1.1 Základní stavební kameny

Základními stavebními kameny jazyka jsou element, atribut a text. Element je reprezentován oteví- rací značkou, obsahem a uzavírací značkou. Z elementů je potom sestaven celý dokument v poža- dované struktuře, které dosáhneme pomocí zanořování elementů do sebe. Element má vždy oteví- rací a uzavírací značku.

<element>obsah</element>

Obsah elementu se uvádí mezi otevírací a uzavírací značku elementu a obvykle reprezentuje data související s elementem a jeho atributy. Textem může být libovolná textová informace, libovolné množství vnořených elementů, nebo kombinace elementů a textu.

Atributy obsahují hodnoty, které jsou nějakým způsobem svázané s elementem, a jsou vždy součástí otevírací značky elementu.

<element atribut="hodnota">obsah</element>

Atributů je možné k elementu přiřadit neomezené množství. Název atributu je následován znakem = a hodnota atributu je uzavřena v jednoduchých (’) nebo dvojitých (") uvozovkách. Opačný druh uvozovek, než který byl použit k uvození atributu, může být použit v textu hodnoty atributu.

Zvláštním případem elementu je prázdný element, který nemá obsah. Takovýto element je možné ukončit přímo v otevírací značce pomocí znaku / na konci značky. Dobrým zvykem je dávat před znak lomítka mezeru. Prázdný element může mít v otevírací značce libovolné množství atributů.

<element />

11.1.2 Struktura dokumentu

Základním prvkem každého XML dokumentu je XML deklarace (prolog). Jedná se o jasnou identifi- kaci, že předložený textový dokument je XML dokumentem. Říká nám, jaká verze jazyka je použita a řeší problém s kódováním textu na různých platformách. Deklaraci je nutné uvést hned na začátku dokumentu. Tyto informace využívají zejména XML parsery. ke korektnímu zpracování dané verze a daného kódování.

<?xml version="1.0" encoding="UTF-8" ?>

87 TECHNOLOGIE XML

Pod XML deklarací se musí nacházet právě jeden kořenový element dokumentu. V obsahu tohoto kořenového elementu je poté text, ve většině případů však další zanořené elementy, je tak možné vytvořit složitou stromovou strukturu. (5)

<?xml version="1.0" encoding="UTF-8" ?> <člověk pohlaví="žena ">
<jméno>Jana </jméno> <příjmení>Nováková </příjmení> </člověk>

11.1.3 Zpracovávací instrukce

Zpracovávací instrukce se používají pro speciální komunikaci XML s aplikací, která XML zpracovává. Takovou aplikací může být například webový prohlížeč, kterému v dokumentu předáme informaci o tom, jaký má použít styl pro zobrazení dokumentu. Každá zpracovávací instrukce má cíl (target) a pseudoatributy.

<?xml-stylesheet type="text/xsl" href="transformace.xslt" ?>

V tomto příkladě je cílem xml-stylesheet a pseudoatributy type a href. Každý cíl má svou sadu pseudoatributů, zde nesou informaci o typu stylopisu a místě, kde se nachází. Konktrétně se jedná o XSL transformaci, které je věnována kapitola 11.4.

11.1.4 Správně strukturovaný XML dokument

Správně strukturovaný (well-formed) XML dokument je takový dokument, který je ve všech ohle- dech vytvořen v souladu s W3C XML standardem. Pokud dokument není správně strukturován, ne- měl by být cílovou aplikací zpracován. To umožňuje snadné strojové zpracování dokumentu, jelikož přesně víme, jakou může mít strukturu. Tato skutečnost značně zjednodušuje implementaci nástroj ů pro zpracování XML.

11.1.5 Validní XML dokument

Na XML dokument jsou kladena přísná pravidla, aby byl vůbec za XML považován. Nicméně tento základní mechanismus nijak neupravuje to, jakou sadu značek je možné použít, jak je možné struk- turovat elementy, jaké atributy můžou jednotlivé elementy obsahovat a jaké jsou kladeny poža- davky na data v těchto elementech a atributech uváděná.

WEBOVÉ TECHNOLOGIE 88

Všechny tyto informace je možné přesně definovat pomocí XML schémat, o kterých pojednává ka- pitola 11.3. XML dokument se poté porovná s pravidly, která jsou ve schématech uvedena. Tomuto procesu se říká validace, a dokument, který tímto procesem úspěšně projde, se označuje jako validní XML dokument.

11.2 XML parsery

Základní činností, kterou chceme s dokumenty ve formátu XML provádět, je jejich čtení. První věc, co bychom s dokumentem mohli udělat, je otevřít ho v programu jako textový soubor a pomocí ně- jakého vlastního mechanismu z něj data číst (například budeme proudově číst dokument, a když na- razíme na speciální znaky XML, provedeme určitou činnost). Tímto způsobem to samozřejmě pro- vést lze, práce je to ale značně kontraproduktivní, jelikož minimálně číst z XML dokumentu chce v programech každý.

Proto již existují speciální nástroje prozpracování XML, které toto umožňují. Tyto nástroje se nazývají parsery. Termínem zpracování se potom rozumí čtení, změna stávajících prvků, přidávání nových prvků a transformace dokumentu do jiných formátů.

11.2.1 DTD a kontrola struktury dokumentu

V XML dokumentu můžeme použít jakékoliv značky. Samozřejmě můžeme jejich používání omezit na předem definované značky. To se provádí pomocí DTD - Document Type Definition (Definice Typu Dokumentu). Pak můžeme kontrolovat, zda dokument vyhovuje naší definici a zda ho tedy můžeme zpracovat podle našich požadavků. Kontrola správnosti struktury dokumentu se provádí pomocí par- seru.

Samozřejmě, pokud si každý programátor na světě vytvoří svůj vlastní DTD, pak by asi výměna a zpracování XML dat neměly velký smysl. Proto existují různé skupiny a sdružení vydávající DTD, které jsou doporučeny pro užívání v dané oblasti.

89 TECHNOLOGIE XML

11.3 XML Schema
XML Schema je alternativou k DTD. Tato technologie jako „definice typů“ nemá svůj obraz v dopo-

ručeních W3C, kde se používá DTD, což je nevýhodou XML Schema.

Na druhé straně XML Schema má z hlediska technologického oproti DTD své nesporné výhody. Jed- nou z těchto výhod je „přísná syntaxe“ XML v dokumentu přímo v XML Schema. Jednoduše řečeno - XML Schema je well-formed XML dokument.

Další výhodou je extensibilita XML Schema a možnost zavádění datových prvků, které nelze v DTD zavést.

XML Schema používá několika rezervovaných názvů elementů XML pro definici typů prvků. Jako pří- klad si uveďme následující schéma. Všimněte si, že se jedná o XML dokument bez zavedení DTD, který má deklarované typy pomocí části well-formed dokumentu XML:

<?xml version="1.0"?>
<Schema xmlns="schemas-microsoft-com:xml-data">

<ElementType name="title" /> <ElementType name="author" /> <ElementType name="pages" />

<ElementType name="book" model="closed"> <element type="title" />
<element type="author" />
<element type="pages" />

<AttributeType name="copyright" />

<attribute type="copyright" /> </ElementType>

</Schema>
Všimněte si na příkladu

  •   elementu <Schema>, zejména kde začíná a kde končí,

  •   zavedení namespace v tomto elementu,

  •   definičního elementu <ElementType> s atributem identifikátoru name,

WEBOVÉ TECHNOLOGIE 90

11.4

vztahu mezi podřízenými typy (kdo koho jako typ obsahuje) pomocí vnoření elementu <ele- ment> s uvedením typu, který je souhlasný s názvem name v předešlé definici <Ele- mentType>,

zavedení typů atributů a kam patří podle stejného vzoru, jako jsou zavedeny elementy.

XSLT

Jednou z velmi důležitých částí XML technologie je XSL (eXtensible Stylesheet Language), je to sty- lový prostředek, který využívá syntaxe jazyka XML. Dle konsorcia W3C se jazyk XSL skládá ze dvou částí:

  •   XSLT–eXtensible Stylesheet Language Transformations, českým ekvivalentem metody pro trafnsformaci XML dokumentů;

  •   XSLFO–eXtensible Stylesheet Language Formatting Objects, českým ekvivalentem metody formátování XML dokumentů.

    XSLT (eXtensible Stylesheet Language Transformations) je speciální jazyk pro transformaci XML do- kumentů na jinou formu (např. HTML, PDF, PS apod). XSLT lze vyjádřit následujícím obrázkem

    Obrázek 11.3. Transformace XML na uživatelský formát zdroj: (3)

    Tedyktomu, abybylomožno XMLdokument transformovat, jezapotřebí kXMLdokumentu vytvořit navíc XSLT styl. Ten XSLT procesoru říká, jakým způsobem má jednotlivé značky v XML dokumentu transformovat na výstupní značky. Existují různé implementace XSLT procesorů (Saxon, Xalan, XT...), jelikož ale procházíme kurzem C#, zaměříme se na procesor dostupný v .NET Framework.

page90image28740448

91 TECHNOLOGIE XML

11.4.1 Tvorba XSLT Stylesheets

Styly pro generování z XML dokumentů se opět píší s použitím XML. Pokud chceme použít pro zpra- cování nějaký styl, obecně se do XML dokumentu zařazuje odpovídající značka hned za deklaraci dokumentu.

Obr. 11.4: Ukázka stylu v XML dokumentu; zdroj: (3)

K jednomu XML dokumentu lze připojit i více stylů.

V prostředí .NET Framework toto můžeme ipmlementovat také, nicméně zpracování stylu funguje na principu načtení XML dokumentu, načtení XSLT stylu a následně provedení transformace.

Pojďme se ale nyní podívat, jak se v praxi vytváří takový XSLT styl. Budeme stále věrní kuchařce. Kód, který transformuje vstupní XML data na HTML kód, nyní vypadá takto:

page91image28381664 page91image28390816

Obr. 11.5: Ukázka XLST stylu; zdroj: (3)

Vidíme zde, že je v XSLT stylech možno používat jakékoliv značky. Ty, které jsou určeny pro zpraco- vání XSLT parserem, mají předponu xsl. Pomocí výrazů jazyka XPath si navíc jednoduše zvolíme, jaký element budeme právě potřebovat a zpracujeme jej.

Nebudu se zde rozsáhle rozepisovat o možnostech XSLT, kdo bude mít zájem o větší detaily dopo- ručuji odkazy www.w3c.org/style/XSL a stránky Jiřího Koska XSLT v příkladech. My si osvětlíme zá- klady používání XSLT.

page91image95419200 page91image95419008

WEBOVÉ TECHNOLOGIE 92

Základy XSLT

Jako každý XML dokument, i XSLT soubor by měl kromě deklarace obsahovat i kořenový element. V případě XSLT je kořenovým elementem xsl:stylesheet. V tomto elementu se uvádí jmenný prostor, který používá XSLT, případně verze XSLT. My u XSLT budeme používat jmenný prostor http://www.w3c.org/1999/XSL/Transform.

Šablony (templates)

Základ transformace XSL tvoří šablony (templates). Ty popisují, jak se který element má měnit. Ná- sledující ukázka šablony vybere kořenový element (tedy celý dokument). Pro výběr elementů se tedy používá atribut match a jako výraz se zadá cesta k uzlu.

Obr. 11.6: Ukázka deklarace šablony; zdroj: (3)

Do šablon je možno vkládat jiné šablony pomocí xsl:apply-templates. Pokud do tohoto příkazu jako atribut vložíme select a hodnotu elementu, který chceme zpracovat, provede se právě tento. Pokud atribut select nepoužijeme, provedou se všechny šablony, které vyhovují nalezeným elementům.

Někdy se může stát, že budeme potřebovat pro jednu šablonu více způsobů zpracování. Provádíme to pomocí tzv. módů šablony.

Obr. 11.7: Ukázka módů šablony; zdroj: (3)

XSL transformace se dá zapsat i bez většího použití šablon, podobně jako v úvodním příkladu. Pokud ale budeme chtít transformovat rozsáhlejší dokument, pravděpobně se bez šablon neobejdeme. S šablonami je navíc výsledný kód přehlednější.

page92image28380416 page92image28384992

93 TECHNOLOGIE XML Výběr hodnot

Příkazem pro zobrazení dat je xsl:value-of. Slouží pro získání hodnoty konkrétního elementu. V jeho atributu select se pak pomocí výrazů XPath zadá cesta k elementu. Následující příklad zjistí hodnotu atributu nazev aktuálního uzlu. Výraz atributu select lze také zapsat pouze ve tvaru @nazev.

Obr. 11.8: Ukázka výběru hodnot; zdroj: (3)

Tvorba elementů, atributů

Budeme chtít vytvořit nový element. Například chceme vytvořit odkaz na nějaké místo a jako hod- notu vzít hodnotu existujícího atributu. Dá se to provést následujícím způsobem - pomocí příkazu xsl:element vytvoříme nový element a k němu vytvoříme příkazem xsl:attribute potřebné atributy.

Kód výše vytvoří následující výstup:

Obr. 11.9: Ukázka tvorby elementů; zdroj: (3)


12.1 JavaScript a jeho použití

Nyní již máme za sebou výklad o HTML jazyku, kaskádových stylech, pozicování stránek a umíme vytvářet stránky na poměrně kvalitní úrovni. Stále však na stránkách můžeme postrádat určitou dy- namiku. Komunikace klienta s webovým serverem neumožňuje pomocí html kódu zajistitdynamické chování v klientském počítači. Nemůžeme tak kontrolovat obsahy formulářů, cookies, měnit dyna- micky text a odpovídat na určité události na straně klienta, protože o tom web server nic neví. Ře- šením této situace jsou skriptovací jazyky.

JavaScript je skriptovací jazyk na straně klienta, který je určen jako nástroj pro výše uvedené skuteč- nosti. Tato kapitola není referenční programátorskou příručkou pro JavaScript, vysvětlí vám však jeho.

K čemu vůbec potřebujeme JavaScript? Než pronikneme do konkrétních vlastností a syntaxe jazyka, řekněme si, co vlastně umí v interakci s jazykem HTML:

  •   Dokáže reagovat na události jako klikání myší, změna polohy objektů apod.

  •   Pomocí něj můžeme validovat data z formulářů na straně klienta.

  •   Dokáže vytvořit dynamický text v HTML stránce.

  •   Dokáže přizpůsobovat a měnit HTML elementy.

  •   Umožňuje číst a zapisovat proměnné cookies, detekovat klientův prohlížeč a další užitečné vlastnosti.

    Javascript je skriptovací jazyk na straně klienta, to znamená, že webový server nemá žádnou infor- maci o tom co se na klientském počítači děje. Všechny akce, které provádí skript, se dějí na klientské straně.

12.1.1 Vložení JavaScriptu do stránky
Je to v podstatě velice jednoduché. Zatím si stále vystačíme se znalostmi základů HTML.

  •   Skripty se zapisují do HTML mezi tagy <script> a </script>. Všechno, co je mezi těmito tagy, je program psaný v jazyce JavaScript.

  •   V příkladě níže je použit příkaz document.write(). Ten způsobuje zápis do proudu doku- mentu. Zapsaný text se ihned zobrazí v prohlížeči.

  •   Pokud se zapisuje normální text, musí se obalit uvozovkami (na rozdíl od proměnné). Mezi uvozovkami se nesmí zalomit řádek.

97

ZÁKLADY JAZYKA JAVASCRIPT

Každý příkaz JavaScriptu se ukončuje středníkem;

page97image28832976

12.1.2

Obr. 12.1: Ukázka umístění JavaScriptového kódu do stránky; zdroj: (3)

Možnosti zápisu JavaScriptu HTML dokumentu

Existují 3 způsoby zápisu (vložení) JavaScriptu do HTML dokumentu:
1. Pomocí párového tagu <script> do proudu dokumentu. (viz předchozí ukázka) 2. Odkazem na externí soubor.

Obr. 12.2: Příklad odkazu na externí soubor; zdroj: (3)

Odkazy na Externí soubory JavaScriptu (mají příponu .js) se umísťují buď do hlavičky HTML doku- mentu, stejně jako např. styly CSS, nebo na konec těla HTML dokumentu, těsně před koncovou značku tagu <body>. V praxi se více upřednostňuje druhý způsob, tj. na konec těla dokumentu. Kód JavaScriptu tak bude bezpečně vykonán, až jakmile se uživateli načte (vykreslí) samotná stránka. Stránka navíc uživateli nabídne často rychlejší odezvu. V probíraných příkladech (cvičných soubo- rech) sice umisťujeme odkazy na soubory JavaScriptu do hlavičky dokumentu, ale děláme tak spíše z důvodu přehlednosti v rámci naší výuky. V praxi doporučujeme onen druhý způsob.

3. In-line zápis - "v řádku". Nevyužívá tag <script>, ale zapisuje se jako atribut jiného tagu. Většinou reaguje na nějakou událost.

Příklad:

<a href="http://www.mvso.cz" onmouseover = "alert('Na škole je myš!!!')">MVSO </a>

 Příklad ukazuje klasický odkaz s textem MVSO. Důležitý je atribut (událost) onmouseover. Při přejetí myši se vykoná příkaz alert.

page97image28360336

WEBOVÉ TECHNOLOGIE 98

  •   Všimněte si, že v in-line zápisu je nutno používat apostrofy místo uvozovek (protože uvo-

    zovky by zakončily zápis skriptu).

  •   Onmouseover je jednou z událostí, kterých existuje asi tucet. Bez existence událostí by in- line zápis skriptu nedával smysl.

    Inline zápis se již nedoporučuje používat. Nejde o to, že by nebyl podporován, ale jde o nežádoucí míchání obsahu HTML dokumentu a aplikační logiky. Význam je podobný jako v případě CSS. Kaská- dové styly se rovněž nedoporučují zapisovat do stránky, ale do externího souboru. Nedochází tak k míchání obsahu, od jeho formátování (3).

12.2 Prvky a syntaxe jazyka
V souboru JavaScriptu (.js) se zapisuje zdrojový kód přímo, bez uvození do tagu <script>. Stejně tak

si budeme představovat následující prvky jazyka.

12.2.1 Základní syntaxe
 Příkazy se oddělují středníkem nebo koncem (zalomením) řádku.

první příkaz; druhý příkaz;

 Záleží na velikosti písmen v proměnných i v názvech objektů.

Objekt window.Location je špatně, protože správný tvar je window.location.

 Řetězce se uzavírají do uvozovek

Je možné využívat i apostrofů, které jsou i nezbytné při in-line zápisu. <img onmouseover="alert('AHOJ')" />

 Escapování znaků

Pro escapování znaků se používá zpětné lomítko. <img onmouseover="alert(\"AHOJ\")" />
 Logické hodnoty

99 ZÁKLADY JAZYKA JAVASCRIPT JavaScript zná speciální hodnotu pro pravdu: true a pro nepravdu: false.

 Další pravidla
Objekty a jejich metody a vlastnosti se oddělují tečkami: objekt.podobjekt.vlastnost
Programové sekvence se uzavírají do složených závorek {} (zejména při větvení a deklaraci funkcí).

12.2.2 Proměnné
V programování představují proměnné „úložiště“ informace (vyhrazené místo v paměti).

Obr. 12.3. Příklad proměnné v JavaScriptu; zdroj: (3)

  •   Názvem proměnné může být libovolné slovo (s výjimkou několika klíčových slov jazyka). Zá- leží na velikosti písmen.

  •   V JavaScriptu je vhodné proměnné deklarovat. Na deklarování slouží klíčové slovo var ná- sledované výpisem deklarovaných proměnných.

  •   Proměnná použitá v příkladu má název x. Do proměnné x je načtena hodnota "Obsah pro- měnné", která je dalším příkazem document.write zapsána do proudu dokumentu.

    Příklad:

    Obr. 12.4. Příklad proměnné v JavaScriptu; zdroj: (3)

12.2.3 Operátory

page99image28701696page99image28693168

Operátory přiřazení přiřazení

přičtení, ale také připojení řetězce přinásobení, odečtení, "přidělení„

přičtení 1 odečtení 1

=
+=
*= , -=, /= ++
--

WEBOVÉ TECHNOLOGIE

100

page100image28383536

Obr. 12.5. Příklad zápisu operátorů v JavaScriptu; zdroj: (3)

 Početní operátory
+ sčítání i spojování řetězců (příklad cyklu for níže) - odčítání, unární negace
* násobení
/ dělení

 Logické operátory

==

!=

<, <= , >=, > &&
||
!

?: ,

rovnost (dvě rovnítka) nerovnost

aritmetické srovnání
logické AND (a zároveň)
logické OR (nebo)
logické NOT (negace)
podmínkový výběr (ternární operátor)
logické spojení (třeba v zápisu parametrů funkcí)

Logické operátory se používají zejména při větvení programů na stanovení podmínek. Podmínky na- bývají hodnot true (pravda) a false (nepravda).

12.2.4 Větvení

Větvení nebo-li podmínkové konstrukce jsou klasickou součástí téměř všech programovacích ja- zyků. Struktura této konstrukce je ve veštině programovacích jazyků téměř shodná. V JavaScriptu má následující podobu:

 Klauzule if
If (podmínka 1) { příkazy prováděné při splnění podmínky; }

101 ZÁKLADY JAZYKA JAVASCRIPT

else if (podmínka 2) { příkazy prováděné při nesplnění podmínky 1 a splnění podmínky 2; } else if (podmínka n) { příkazy prováděné při nesplnění podmínek (n-1) a splnění podmínky n; } else { příkazy prováděné při nesplnění všech n předchozích podmínek; }

Obr. 12.6: Příklad větvení v JavaScriptu; zdroj: (3)

12.2.5 Cykly

Cyklus je v programování konstrukce, která dle stanovených podmínek může opakovat provádění příslušných operací. Jednoduchý příklad může zahrnovat rozesílání spamu. Program rozesílá ne- chtěné reklamy. Rozeslání se provede tolikrát, kolik program nalezne emailových adres. A šťastní adresáti se mají nač těšit.

 Cyklus WHILE

Cyklus s podmínkou na začátku. Sekvence vnitřních příkazů se provádí dokola, dokud platí pod- mínka. Jakmile podmínka neplatí, vnitřek příkazu while už se nevykoná a program bude pokračovat pod koncem sekvence while.

while (podmínka) { sekvence příkazů }
Následující příklad zvyšuje proměnnou o pět jednotek, dokud nebude větší nebo rovna třiceti:

Obr. 12.7: Cyklus while v JavaScriptu; zdroj: (3)

 Cyklus FOR
Cyklus určený pro daný počet opakování.
for (počáteční hodnota; podmínka; navýšení) { příkazy} Např. tento program vypíše všechny HTML nadpisy:

page101image28336880page101image28317792

WEBOVÉ TECHNOLOGIE

102

page102image28381456

12.2.6 Funkce

Obr. 12.8: Cyklus for v JavaScriptu; zdroj: (3)

V JavaScriptu existuje podobně jako v jiných programovacích jazycích možnost definovat (deklarovat) vlastní funkce. Funkce je programový blok, který může (ale nemusí) zpracovávat vstupní n-vstupních parametrů a vrací určitou hodnotu (pomocí klíčového slova return). Výhdou funkcí je jejich znovupoužitelnost, což umožňuje eleminovat mnoho duplicitního kódu.

 Deklarace funkce
function jmenoFunkce (parametr 1, parametr 2, ..., paramet rn) { příkaz; příkaz; return hodnota }

 Volání funkce jmenoFunkce (hodnota, hodnota);

Obr. 12.9: Příklad funkce rámci validace formuláře; zdroj: (3)

page102image28393680

103 ZÁKLADY JAZYKA JAVASCRIPT

12.3 Objektové vlastnosti JavaScriptu

Již výše jsme si řekli, že JavaScript je jazyk objektový. V praxi to pro případ JavaScriptu znamená, že téměř všechno může být objektem. Např. řetězec, pole, funkce, data atd. Měli byste vědět, že objekt je tvořen:

  •   Vlastnostmi – proměnné asociované s objektem.

  •   Metodami – funkce, které objekt může vykonávat.

    Princip objektu a jeho vlastností a metod si můžete prohlédnout i na webu W3Schools.com. Mějme tedy objekt auto:

    Obr. 12.9: Objekt a jeho vlastnosti; zdroj: (3)

    Vlastnosti objektu auto jsou např. jeho název, označení modelu, hmotnost a barva. Všechny auta (objekty) mají tyto vlastnosti, jenom se mění hodnoty těchto vlastností.

    Metody objektu autojsou nastartování, ježdění a brždění. Všechny auta (objekty) mohou vykonávat tyto akce (metody).

    Nyní se můžeme podívat, jakým způsobem lze s objekty pracovat přímo v JavaScriptu.

    Vytvoření objektu:
    V JavaScriptu se např. objekt řetězce vytváří pomocí klíčového slova new. Objekt uložíme do pro-

    měnné txt.

    var txt = new String("Ahoj Hercule");

    Vlastnosti:

    Tento objekt má např. vlastnost length (v ní je uložena hodnota počtu znaků řetězce). Zjištění hod- noty této vlastnosti je velmi jednoduché.

page103image28371520

txt.length // obsahuje hodnotu 12

WEBOVÉ TECHNOLOGIE 104

Metody:

Objekt řetězce má např. metodu indexOf(). Ta vrací pozici prvního výskytu hledaného podřetězce.txt.indexOf("Hercule"); // vrátí 5

12.3.1 Document Object Model (DOM)

Díky DOM může JavaScript přistupovat k libovolným HTML elementům a může je měnit. V mo- mentě, kdy je webová stránka načtena, vytvoří prohlížeč její objektový model. HTML DOM je kon- struován jako strom objektů:

Obr. 12.10: Strom HTML objektů; zdroj: (3)

HTML DOM definuje:

  •   HTML elementy jako objekty.

  •   Vlastnosti všech HTML elementů.

  •   Metody pro přístup k HTML elementům.

  •   Události pro všechny HTML elementy.

    Příklad

    Ukážeme si jednoduchou ukázku použití jedné z metod pro přístup k HTML elementům, a speciální vlastnosti, která umožňuje získat obsah elementu a rovněž jej měnit.

page104image28401376

105 ZÁKLADY JAZYKA JAVASCRIPT

Metoda getElementById() je nejběžnější metoda pro přístup k HTML elementům prostřednictvím jejich id. Ano, přesně podle těch id, které jsme se naučili už využívat v rámci použití identifikátorů kaskádových stylů.

Vlastnost innerHTML lze použít jak pro získání obsahu zpřístupněného elementu, tak pro možnost jeho změny.

page105image28394096

Obr. 12.11: Použití metody getElementById; zdroj: (3)

Ačkoli je obsah nadpisu druhé úrovně s identifikátorem header „...“, tak jej jednoduchý skript JS s využitím metod a vlastností DOM nahradí textem z elementu odstavce s identifikátorem intro.

Příklad

S objektovým přístupem a částečně i DOM jsme se již setkali v případě validace formuláře v našem zkušebním webu (formulare). Podívejme se blíže na následující řádky kódu (část zdrojového kódu HTML dokumentu kontrolovany-form.html):

Volání funkce:
Obr. 12.12: Volání funkce; zdroj: (3)

V momentě odeslání formuláře (událost onsubmit) je ještě před jeho samotným odesláním volána funkce kontrolaJmena, ktere je jako parametr předán objekt zpracovávaného formuláře (klíčové slovo this).

Funkce, která provádí validaci, tento parametr označuje jako vstup (v případě deklarace funkce, lze parametry pojmenovat libovolně).

page105image28403664page105image28403456

Obr. 12.13: Příklad funkce; zdroj: (3)

WEBOVÉ TECHNOLOGIE 106

Do proměnné zadanaHodnota je načtena hodnota vložená uživatelem do políčka formuláře Jméno. Objekt formuláře (vstup) obsahuje kolekci elementů (tedy prvků formuláře). V našem případě po- třebujeme z této kolekce vybrat element, jehož atribut name má hodnotu „name“. K tomuto účelu slouží metody namedItem().

vstup.elements.namedItem("name")

Předchozí zápis je vlastně odkazem na objekt textového políčka formuláře. A nyní nám už jen stačí dotázat se tohoto objektu na jeho vlastnost value, která v sobě nese skutečný obsah textového po- líčka formuláře.

Více k této problematice a spousta dalších příkladů k využití na webu W3Schools.com5.

12.4 Knihovny JavaScriptu

Knihovny funkcí jsou připravené funkce JavaScriptu, které nám výrazně usnadňují jeho použití a při- nášejí funkcionalitu navíc. Některé knihovny jsou přímo určeny pro konkrétní účely, jako např. pro vytváření obrazových galerií. Jiné jsou navrženy pro zjednodušení navigace, obsluhy událostí atd.

12.4.1 Lightbox

Lightbox je jedna z mnoha JavaScriptových knihoven, které se používají pro prohlížení obrázků v ak- tuálním okně prohlížeče. Takové fotogalerie jsou dnes již běžnou součástí a denně se s nimi setká- váme na nejrůznějších webových portálech či stránkách. Jejich použití je velmi jednoduché a závisí pouze na stažení příslušných souborů a umístění do kontextu webových stránek.

Knihnu Lightboxu si spolu s jednoduchým návodem na její použití můžete stáhnout zde: http://loke-shdhakar.com/projects/lightbox2/

Její praktickou aplikaci a popis použití obsahuje rovněž stránka Lightbox webu formulare. Z dalších podobných knihoven, které se využívají pro obrázkové galerie, zmíníme např. FancyBox nebo Grey- Box.

5 http://www.w3schools.com/js/js_htmldom.asp

107 ZÁKLADY JAZYKA JAVASCRIPT

12.4.2 jQuery

jQuery je knihovna navržená pro jednoduchou navigaci v elementech stránky, manipulaci s nimi, obsluhu událostí a provádění vzdálených asynchronních volání. Oproti knihovnám jako je Lightbox tedy nestačí pouze stáhnout příslušný kód a vložit ho do stránky, ale je potřeba rovněž umět vytvořit s pomocí jQuery uživatelský kód, který bude plnit námi požadované akce.

Knihovna umožňuje provádět dvě základní akce:

  •   Selekci – tj. výběr elementů webové stránky, které připadají zadanému selektoru (jako v CSS).

  •   Modifikaci – např. přidání elementu, odstranění potomků nebo nastavení stylu CSS nad vy- branými elementy.

    Příklad
    Následující kód vybere všechny elementy, které patří do třídy intro, a nastaví u uvedených vlastností

    CSS nové hodnoty:

    Obr. 12.14: Příklad kódu; zdroj: (3)

    Knihovna jQuery je v základu součástí pouze jednoho souboru, který jsme mimojiné již použili s kni- hovnou Lightbox, která jej pro své účely využívá. Po stažení tohoto souboru16 jej vložíme pomocí tagu <script> do stránky. Vlastní skripty, které budeme s pomocí této knihovny psát, buď vhodně umístíme do jiného externího souboru nebo přímo do stránky mezi tagy <script>. Použití jQuery si můžene opět prohlédnout v akci na webu formulare.

    jQuery nenahrazuje JavaScript, ale zachovává jeho funkcionalitu a rozšiřuje pole jeho možností (jedná se o nadstavbu JS). Ve zdrojovém kódu jQuery tak lze používat i klasický JavaScriptový syn- tax.

    Na závěr této kapitoly si řekněme, co jQuery nabízí v porovnání s klasických JavaScriptem:

  •   Kód využívající knihovnu jQuery pro výběr elementů a jejich modifikaci je výrazně kratší.

  •   Kratší kód je lépe čitelný.

  •   Psaní jQuery zrychluje vývoj.

  •   S použitím jQuery je možné vytvářet kód kompatibilní se všemi hlavními prohlížeči.

Týden 5