Návrh webového obchodu



Podobné dokumenty
Přehled základních html tagů

(X)HTML, CSS a jquery

HTML Hypertext Markup Language

HTML - Úvod. Zpracoval: Petr Lasák

Úvod do aplikací internetu a přehled možností při tvorbě webu

Úvod do tvorby internetových aplikací

Tvorba webových stránek

Vývoj Internetových Aplikací

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Obsah. Stručná historie World Wide Webu 7

WWW a HTML. Základní pojmy. Ivo Peterka

Tvorba webu. Úvod a základní principy. Martin Urza

Základy programovacího jazyka HTML. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1133_Základy programovacího jazyka HTML_PWP

CSS Stylování stránek. Zpracoval: Petr Lasák

22. Tvorba webových stránek

Základy informatiky. HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

NSWI096 - INTERNET. CSS kaskádové styly. Mgr. Petr Lasák

Škola. Téma hodiny HTML - Základní návrh stránky Informační a komunikační technologie

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

Tvorba webových stránek

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

Mgr. Vlastislav Kučera přednáška č. 1

CZ.1.07/1.5.00/

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy

Internet WEB stránky HTML, Hypertext MarkUp Language - nadtextový jazyk - Místo příkazů obsahuje tagy - značky

Mgr. Vlastislav Kučera přednáška č. 1

Základy informatiky. 03 HTML, tvorba webových stránek. Kačmařík/Szturcová/Děrgel/Rapant

Tvorba WWW stránek. Mojmír Volf

Ukázka knihy z internetového knihkupectví

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

Úvod do jazyka HTML (Hypertext Markup Language)

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Základy WWW publikování

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Základy HTML. Autor: Palito

CSS Selektory tříd a ID, dědičnost, další vlastnosti. Formátování HTML dokumentu, které je více či méně oddělené od obsahu Způsoby implementace

Inovace výuky prostřednictvím šablon pro SŠ

Mgr. Vlastislav Kučera lekce č. 2

Internet 1 vývoj, html, css

CSS styly. Cascading Style Sheets kaskádové styly

Základy informatiky. 03, HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

Datum vytvoření. Vytvořeno 18. října Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

Úvod do informatiky 5)

O CSS podrobněji. Box model Document flow Layout

Uspořádání klient-server. Standardy pro Web

Inovace výuky prostřednictvím šablon pro SŠ

1. Struktura stránky, zásady při psaní kódu, MVC pattern. Web pro kodéry (Petr Kosnar, ČVUT, FJFI, KFE, PINF 2008)

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

MODERNÍ WEB SNADNO A RYCHLE

Tvorba www-stránek. Příkazy jazyka HTML. Budeme pracovat následovně: Základní struktura webové stránky. Příkazy sekce HEAD

1: Úvod 9. Co a kde v knize naleznete... 9 Zdroje Doporučení pro další studium... 11

Úvod do tvorby internetových stránek v jazyce HTML

Kaskádové styly (CSS)

Identifikátor materiálu: ICT-3-10

Mgr. Vlastislav Kučera přednáška č. 2

Internet 2 css, skriptování, dynamické prvky

Kaskádové styly základy grafiky

Tvorba webových stránek

CSS (Cascading Sytle Sheets) neboli kaskádové styly vznikly jako souhrn metod pro úpravu vzhledu stránek.

NSWI096 - INTERNET. Úvod do HTML

CSS Kaskádové styly. formátování webových stránek

1. Začínáme s FrontPage

Čtvrtek 11. dubna. Základy HTML. Obecná syntaxe HTML. Struktura HTML

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Mgr. Stěpan Stěpanov, 2013

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1

Nové přístupy tvorby web site. Doc. Ing. Zdeněk Havlíček, CSc. KIT PEF CZU - 13/11/2001

Pojmy internetu - test

Dokument XHTML. Prohlížeč. styl CSS. Výstupní dokument. Soubor DTD

Zá klady HTML. Tag HTML <HTML> Párová značka, který definuje webovou stránku. Obsah stránky končí značkou

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Olga Rudikova 2. ročník APIN

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 1 VY 32 INOVACE

(X)HTML-TAGY. VOŠ a SŠT Česká Třebová

Webové stránky. 2. Úvod do jazyka HTML. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

Internet - základní pojmy

Základy CSS (3. přednáška)

Úvod do CSS. Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm. Modernizace výuky s využitím ICT, CZ.1.07/1.5.00/34.

APLIKACE XML PRO INTERNET

13. Vytváření webových stránek

INTERNET A SÍTĚ. Role při tvorbě webových aplikací. Rozhodovací vrstvy při tvorbě webových aplikací. povrch kostra struktura obsah strategie

Fiktivní firma. Žáci získají základní informace o přípravě a tvorbě webových stránek. Na konci prezentace je úkol, se kterým žáci samostatně pracují.

Inovace výuky prostřednictvím šablon pro SŠ

Název DUM: VY_32_INOVACE_2B_14_ Programovací_jazyk_HTML

Nová struktura souborů a složek

HTML. ICT_01., 02. konzultace; 2. ročník 1/6

15. CSS styly (funkce, vývoj, využití). Práce s CSS styly (vkládání do kódu, pravidlo, selektor, dědičnost, kaskády, id a vlastní třídy)

Název modulu: XHTML a CSS pokročilé techniky tvorby webových stránek

TNPW1 Cvičení aneta.bartuskova@uhk.cz

Mgr. Vlastislav Kučera Struktura stránky, hlavička,

Hlavička dokumentu. mezi <head> a </head> obsahuje informace vztažené k dokumentu metadata <title> - název stránky, povinná párová značka

Systém elektronického rádce v životních situacích portálu

Tvorba jednoduchých WWW stránek. VŠB - Technická univerzita Ostrava Katedra informatiky

Úvod do informačních služeb Internetu

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

IE1 jazyk HTML a kaskádové styly

Transkript:

Bankovní institut vysoká škola Praha Katedra informatiky a kvantitativních metod Návrh webového obchodu Bakalářská práce Autor: Alyabyev Alexandr Informační technologie Vedoucí práce: Ing. Bohuslav Růžička, CSc. Praha Duben, 2014

Prohlášení Prohlašuji, že jsem bakalářskou práci zpracoval samostatně a v seznamu uvedl veškerou použitou literaturu. Svým podpisem stvrzuji, že odevzdaná elektronická podoba práce je identická s její tištěnou verzí, a jsem seznámen se skutečností, že se práce bude archivovat v knihovně BIVŠ a dále bude zpřístupněna třetím osobám prostřednictvím interní databáze elektronických vysokoškolských prací. V Praze, 29.04.2014 Alexandr Alyabyev 2

Poděkovaní Chci srdečně poděkovat vedoucímu mé bakalářské práce Ing. Bohuslavu Růžičkovi, CSc. za odborné vedení, podporu při řešení častých dotazů, cenné připomínky a konzultace, pomocí kterých jsem zpracoval tuto bakalářskou práci. 3

Anotace Bakalářská práce na téma Návrh webového obchodu řeší úlohy a otázky, které vyskytují u lidí při vytvářené webových stránek (v daném případě vytváření E-shopu), a při další práci s ním. Například, co to je domén, hosting, server a jaké existují jejích druhy. Také v této práci popisuji a současně zkoumám hlavní jazyky webového programování: HTML, CSS, JavaScript a PHP. Vzhledem k tomu, že v dnešní době moderní multifunkční webové stránky vyžadují znalost každého z nich, popíšu každý jazyk v samostatné kapitole z hlediska teorie i praxe jejich použití. Pro lepší názornost jsou v textu uvedeny tabulky, obrázky a schémata. Protože práce je navržena tak, aby čtenář lépe pochopil co to je webová stránka, popsal jsem velmi podrobně téměř všechny funkce, které by měla mít moderní webová stránka. Pro ty, kteří si chtějí vyzkoušet roli vlastníka E-shopu, jsem důkladně prozkoumal a popsal co má nabízet svým zákazníkům úspěšný E-shop. Klíčové slova: Internet, doména, hosting, programovací jazyky, HTML, CSS, JavaScript, PHP, E-shop, SEO optimalizace. Annotation Bachelor work on the topic E-shop Proposal solves the problems and issues that often occur by creating a website (in this work E-shop) and by further work with it. For example, what is a domain, hosting, server and it s species? Also in this work is considered and simultaneously examined the main languages of web programming: HTML, CSS, JavaScript and PHP. Because today's modern multifunctional website requires a knowledge of each of them, I decided this problem by covering each programming language in a separate chapter. I will also tell from my point of view about the theory and practice of using of these languages. 4

For better visualization of one of web programming languages, I have used tables, pictures and schemes in this work. The work is designed for the reader better to understand what is the website, so that s why I described in detail the functionality, which must have a modern website. Then, for those who want to try themselves as E-shop owners, I have deeply studied and described what a successful E-shop must have and provide customers with. Keywords: Internet, domain, hosting, programming language, HTML, CSS, JavaScript, PHP, E- shop, SEO. 5

Obsah Úvod... 8 1. Popis webových stránek... 10 1.1 Internet... 10 1.2 World Wide Web... 11 1.3 Co jsou webové stránky... 12 1.4 Jak fungují webové stránky... 13 1.4.1 DNS... 14 1.4.2 Hosting... 16 2. Tvorba webových stránek... 19 2.1 HTML... 19 2.1.1 Tag... 23 2.1.2 Prvky... 24 2.1.3 Atribut... 25 2.2 DHTML... 26 2.2.1 K čemu je DHTML?... 26 2.2.3 Potřeba DHTML... 27 2.2.4 Jak DHTML funguje... 27 2.3 CSS... 27 2.3.1 Selektor... 30 2.3.2 Dědičnost stylů... 32 2.3.3 Kaskáda... 33 2.3.4 Specifičnost... 33 2.3.5 Pseudotřídy... 34 2.4 JavaScript... 37 2.4.1 Komentáře v JS... 40 2.4.2 Objekt Document... 40 2.4.3 Proměnné v JS... 41 2.4.4 Typy proměnných... 43 2.4.5 Tvorba funkce v JS... 44 2.4.6 JS větvení... 45 2.4.7 JS cykly... 46 2.4.8 JS pole (Array)... 48 2.4.9 Podobnosti s Javou... 50 6

2.5 PHP... 51 2.5.1 Instalace... 53 2.5.2 Denwer... 54 2.5.3 Komentáře v PHP... 54 2.5.4 Proměnné v PHP... 55 2.5.5 Typy proměnných... 55 2.5.6 Funkce v PHP... 57 2.5.7 Větvení v PHP... 58 2.5.8 Operátory... 60 2.5.9 Cykly v PHP... 60 2.5.10 Pole v PHP (Array)... 63 3. Návrh funkčnosti webového obchodu... 66 3.1 Pravidla pro určité kategorie rozhraní použitelnosti... 66 3.2 Vyhledávání... 67 3.3 Hlavní stránka... 67 4. Návrh sledovaní provozu... 69 4.1 Google Analytics... 69 4.2 Funkce Google Analytics... 70 4.3 Definice webového obchodu... 73 4.3.1 Oblast B2B... 73 4.3.2 Oblast B2C... 73 4.3.3 SEO optimalizace... 74 4.4 Proč nakupovat na Internetu?... 75 4.5 E-shop s pohledu zákazníka... 75 4.5.1 Elektronická nabídka... 76 4.5.2 Online-konzultace... 76 4.5.3 Nákupní košík... 77 4.5.4 Registrace nákupu... 77 4.5.5 Elektronická platba... 77 4.5.6 Dodání objednávky... 78 4.5.7 Zajištění vrácení zboží a záruka... 78 Závěr... 79 Seznam použitých tabulek... 86 Seznam použitých schémat... 86 Seznam obrázků... 86 7

Úvod V posledních deseti letech zaznamenal Internet velmi bouřlivý vývoj a rozvíjel se velmi dynamicky, nicméně jeho vývoj stále nekončí. Internet má v dnešní době zásadní dopad na život každého z nás a moderní život si bez něj již takřka nelze představit. Moderní Internet má celou řadu společenských a kulturních aspektů. Jedná se o univerzální nástroj pro komunikaci, zábavu a vzdělávání. Na Internetu je dnes běžné nakupovat a platit za služby a pro mnoho lidí Internet znamená také pracovní místo. Obecně lze říct, že Internet je odrazem moderní společnosti a moderního světonázoru. V poslední době se stále častěji a více objevují nejrůznější internetové obchody, které poskytují své služby nejen v rámci konkrétních měst, ale řada z nich celosvětově. O tuto oblast se aktivně zajímám, a proto jsem v této práci řešil problematiku internetových obchodů v teoretické i praktické rovině. V předkládané práci na téma Návrh webového obchodu se pokusím popsat, co je Internet, z čeho se skládá a jak funguje, protože tato témata jsou přímo spojena s problematikou webových obchodů a jsou jejich základem. Stejně jako v každém podnikání, tak i v této oblasti je třeba danou problematiku prozkoumat od základů. Ne všichni si dokáží představit, jak Internet funguje, a co všechno je zapotřebí k vytvoření webové stránky. Předkládaná práce se skládá ze čtyř kapitol. První kapitola tvoří podklad celé práce a popisuje základní pojmy jako Internet, to, jak funguje, prostřednictvím čeho funguje, jak si vybrat hosting a doménu pro svůj web, co to je server a jaké druhy serverů existují, co to jsou webové stránky, jak fungují atd. Hlavním cílem mé bakalářské práce je důkladně popsat jednotlivé kroky vytváření webových stránek, velkou pozornost věnuji především vytvoření webového obchodu. Ve druhé kapitole se zaobírám technickou stránkou webového obchodu, zejména pak tím, jak vytvořit kvalitní webovou stránku. V rámci řešení tohoto problému důkladně popíšu dva hlavní webové programovací jazyky HTML a CSS. Tyto dva jazyky jsem si vybral proto, že je s jejich pomocí napsán největší počet webových stránek a jejich zkoumání a využívání je poměrně jednoduché. HTML a CSS jsou mezi sebou poměrně úzce propojeny, proto jsem se je rozhodl popsat společně, abych přesně dokumentoval, jak vytvořit webové stránky. 8

V další části práce popíšu také další, již složitější programovací jazyky JavaScript a PHP. Nebudu se jimi však zabývat příliš podrobně, jelikož mají velmi bohaté spektrum funkcí, které představují velké množství příležitostí. S pochopením HTML a CSS bude pro všechny zájemce jednodušší naučit se programovat v JavaScript a PHP. Osobně tedy doporučuji studovat Web design vždy v tomto pořadí. Ve třetí kapitole své práce se poté, co popíšu, co je webová stránka a jak funguje, zaměřím na popis toho, co by mělo být na webových stránkách, které fungují jako webové obchody. Na tomto místě je důležité upozornit na to, že webové stránky tohoto typu by měly především přilákat zákazníky. V této kapitole se pokusím popsat, jak nejlépe zaregistrovat hlavní stránku webu, co by měla hlavní stránka obsahovat a čemu je naopak třeba se vyhnout. Nejdůležitější je uvědomit si, že čím jednodušší a funkčnější webová stránka je, tím lépe pro klienta a zákazníka. Ve čtvrté kapitole popíšu, jak optimalizovat webovou stránku a učinit ji konkurenceschopnou pomocí Google Analytics. Tento nástroj od společnosti Google je určen pro všechny webové stránky, ať už se jedná o zpravodajský web nebo o E-shop. Jeho hlavním cílem je vytvořit statistiky o tom, kolik lidí konkrétní webové stránky navštíví, odkud tito lidé pocházejí, na jaké články a stránky se nejčastěji dívají a proč odcházejí. S pomocí Google Analytics můžeme poměrně jednoduše určit, které části našich webových stránek potřebují zlepšit, a to např. odstraněním nepotřebných informací, funkcí apod. Na konci čtvrté kapitoly a na konci práce ještě podrobně popíšu, jaké služby by správně a dobře fungující webový obchod měl poskytovat. 9

1. Popis webových stránek 1.1 Internet Internet je celosvětový systém integrovaných počítačových sítí pro ukládání a přenos informací. Počet uživatelů Internetu každoročně vzrůstá a k 30. červnu 2012 1 činil již více než 2,4 miliardy lidí. Za začátek historie Internetu je obvykle považován rok 1960 2, kdy byl zahájen projekt Ministerstva obrany USA, který nesl název Advanced Project Agency (ARPA) a byl experimentálním projektem. Jedním z jeho cílů bylo propojit počítače pomocí sítě tak, aby ARPA fungoval i v případě výpadku některých počítačů v síti. Celá navrhovaná síť byla zamýšlena jako zabezpečená. V roce 1969 byly propojeny čtyři výzkumné instituce (University of California, University of Utah, California State University, Stanford University) a vznikl tzv. ARPANet (Advanced Research Projects Agency Network). ARPANet vždy obsahoval spojení mezi zdrojovým a cílovým počítačem. Přenos dat v síti byl organizován na základě Internetového protokolu (IP). Tento protokol byl navržen tak, aby při nestabilním fungování jedné z tras bylo možné zajistit přenos dat pomocí alternativní trasy. Můžeme říct, že tento komunikační protokol dal Internetu jeho jméno. 3 Časem se k IP připojil Transmission Control Protocol (TCP). Tento protokol zajišťoval propojení dvou počítačů v síti a řídil provoz (datové toky) mezi nimi. Spojením obou protokolů vznikla přenosová sada, spojení dvou protokolů, a to za účelem větší flexibility a schopnosti vytvářet pro Internet lepší komunikační aplikace. Protokol TCP / IP je určen pouze pro přenos dat a bez ohledu na to, co je posíláno (soubory, e-maily, dokumenty), se informace dělí do menších paketů, které jsou odesílané příjemci samostatně. Každý paket obsahuje určitou část zprávy nebo souboru a servisní 1 Citace. In: Wikipedia: the free encyclopedia [online]. Příklad z ruštiny - Wikipedia: Интернет. Dostupné z http://ru.wikipedia.org/wiki/%d0%98%d0%bd%d1%82%d0%b5%d1%80%d0%bd%d0%b5%d1%82 2 SCHAFER, M. Steven. HTML, XHTML a CSS. Bible pro tvorbu WWW stránek (4. vydání). Praha: Grada Publishing, 2009. ISBN 978-80-247-2850-6 3 SCHAFER, M. Steven. HTML, XHTML a CSS. Bible pro tvorbu WWW stránek (4. vydání). Praha: Grada Publishing, 2009. ISBN 978-80-247-2850-6 10

informaci, která popisuje zejména celkový počet paketů a číslo každého z nich. Pakety často nedochází v původním pořadí, protože prochází různými trasami, ale díky servisní informaci je cílový počítač vždy schopen obnovit zprávu nebo soubor ve správném pořadí. Pokud se nějaký paket ztratí, počítač požádá u odesílatele o novou kopii, a tento proces se opakuje tak dlouho, dokud všechny pakety nedorazí na místo určení. Na začátku 90. let se stal Internet nejpopulárnější sítí světa. V této době britský počítačový vědec Tim Berners-Lee 4 vytvořil hypertextový značkovací jazyk (HTML) a protokol pro přenos dokumentů Hypertext Transfer Protokol (HTTP), a také první prohlížecí editor World Wide Web (WWW). 1.2 World Wide Web Po celém světě je pro World Wide Web používána zkratka WWW. Web se zakládá na technologii hypertextu, takže můžeme říct, že WWW slouží pro hledání a zobrazení hypertextových dokumentů. Hypertext je text, který obsahuje odkazy na jiné dokumenty (např. texty, videa, obrázky, hudbu atd.). Jak bylo řečeno dříve, autorem Webu je Tim Berners-Lee, který na konci roku 1990 spustil první webový server na světě info.cern.ch. Dalším důležitým termínem je prohlížeč (browser). 5 Prohlížeč je program pro čtení hypertextu. Browser funguje na počítači uživatele jako klient. Program vyžaduje potřebné informace z webových serverů, se kterými komunikuje pomocí speciálního protokolu HTTP. Prvním rozšířeným prohlížečem byl v letech 1992 1994 NCSA Mosaic. Tento browser měl svá omezení, která byla opravena v dalším populárním prohlížeči Netscape Navigator (rok 1995) 6. Tento browser byl populární, protože byl schopen pracovat pod různými operačními systémy (Windows, Mac OS). To přivedlo Microsoft k vydání vlastního prohlížeče, kterým se stal všem dobře znáý Internet Explorer. Později byly na trh 4 SUSAN, Lesch. Tim Berners-Lee. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-03-16]. Dostupné z: http://en.wikipedia.org/wiki/tim_berners-lee 5 KROL, Ed. Vše o Internetu. Průvodce uživatele a katalog zdrojů (2. vydání). Veletiny: Science, 1994. ISBN 80-901475-4-2 6 KOSEK, Jiří. Internet: první kroky českého uživatele (1. vydání). Praha: Grada Publishing, 1996. ISBN 80-7169- 421-5 11

uvedeny další prohlížeče Opera (1995) a Chrome (2008), které se také staly velmi populárními a fungují až do dneška. V roce 1991 byl Web představen všem uživatelům Internetu 7. Tento program byl nabízen zcela zdarma a poskytovatelé informací mohli zdarma použít také programy pro webový server. Pojem server má 2 hlavní významy: Server je program, který poskytuje své služby jiným programům. Když chceme prohlížet nějakou webovou stránku, prohlížeč si ji vyžádá od serveru. Server je počítač, který poskytuje své služby ostatním počítačům. Obvykle na serveru-počítači je zapnut server-program. Server-program komunikuje s prohlížečem a na základě uvedených požadavků vysílá soubory k počítači. 8 Z toho vyplývá, že webový server je spojením těchto server-program a server-počítač. URL URL neboli celým názvem Uniform Resource Locator ( jednotný lokátor zdrojů ) je řetězec znaků s definovanou strukturou, který slouží k přesné specifikaci umístění zdrojů informací (ve smyslu dokument nebo služba) na Internetu. Každý dokument, který je uložen na nějakém serveru v Internetu, má svou adresu. Původně byl URL používán pro označení umístěných zdrojů (nejčastěji to jsou soubory) na počítačovém serveru. Zjednodušeně můžeme říct, že URL je odkaz 9. 1.3 Co jsou webové stránky Webová stránka je zdroj informací. Webové stránky mají jednoznačnou adresu URL (viz výše). Webové stránky mají různé cíle, mezi které patří například: zajištění prodeje (E-shop); organizace vzájemné komunikace lidí (sociální sítě); tyto cíle jsou však až druhořadé, primárním cílem bylo zveřejnit informace, které budou přístupné kdykoli a komukoli (vědecké články v CERN). Až později se 7 KOSEK, Jiří. Internet: první kroky českého uživatele (1. vydání). Praha: Grada Publishing, 1996. ISBN 80-7169- 421-5 8 KOSEK, Jiří. Internet: první kroky českého uživatele (1. vydání). Praha: Grada Publishing, 1996. ISBN 80-7169- 421-5 9 Odkaz cesta pro prohlížeč, aby ten mohl přijít na požadovaný dokument nebo služby. 12

zjistilo, že se webové stránky dají použít ke zprostředkování a šíření jakýchkoli informací. Jak již bylo řečeno, první webovou stránkou se stala info.cern.ch, která popisovala novou technologii World Wide Web. Autorem byl Tim Berners-Lee. Z pohledu běžného uživatele není webová stránka ničím jiným než textovým dokumentem. Tento dokument je napsán v konkrétních programovacích jazycích (HTML, XHTML, Java atd.). Webové stránky mohou být statické, tedy tvořené jednoduchou sadou souborů. Z technického pohledu je webová stránka softwarový komplex, který obsahuje určité množství dat a je zobrazována pomocí prohlížeče v podobě webových stránek. Tento komplex je uložen na vyhrazeném počítači, který se nazývá server. Definice serveru již byla podána výše. 1.4 Jak fungují webové stránky Na jednodušší úrovni dochází k výměně informací mezi dvěma počítači, které jsou propojeny sítí vaším počítačem (klient) a počítačem s webovou stránkou (server). Na žádost z vašeho počítače, server pošle webovou stránku (viz Schéma 1). Schéma 1: Jednoduchá výměna informací mezi dvěma počítači 1 Počítač-server Žádost o webové stránky Počítač-klient Získaní html-souboru 2 Počítače mohou samozřejmě fungovat 1 samostatně, a proto výměna informací probíhá v programech. Na straně klienta funguje prohlížeč IE (Internet Explorer), Firefox, Opera, Chrome atd. Na straně serveru funguje webový server (Apache, IIS), což je program určený k odpovídání na žádosti prohlížečů, který obdrží od prohlížeče žádost a vydá mu webovou stránku. Schéma 2: Výměna informací mezi dvěma počítači pří pomocí programů Počítač-server Webový server 1 Žádost o webové stránky Získání html-souboru Počítač-klient Prohlížeče (Opera, Chrome, IE atd.) 13 2 1

Nyní se zaměříme na to, jak server pozná, které stránky má vydat. Prohlížeč mu vysílá tuto informaci do URL stránky např. seznam.cz. Počítače samotné mají odlišné adresy tzv. IP adresy. IP adresa je v informatice číslo, které jednoznačně identifikuje síťové rozhraní v počítačové síti, která používá IP (internetový protokol). V současné době je nejrozšířenější verze IPv4, která používá 32bitové adresy zapsané dekadicky po jednotlivých oktetech (osmibitové slovo), například 192.168.0.2. Z důvodu nedostatku IP adres bude nahrazen protokolem IPv6, který používá 128bitové IP adresy. Z toho vyplývá, že prohlížeč komunikuje s počítačem na konkrétní IP adresu a řekne mu, že chce dostat webovou stránku s konkrétní adresou. Webová stránka je vždy na serveru, který ji posílá. Už víme, že IP adresa se skládá z čísel, ale tento kód je pro běžného uživatele těžko zapamatovatelný. Daleko lépe se pamatují vhodně zvolená jména a názvy. Proto byl v roce 1983 10 vytvořen DNS, který vyvinul Paul Mockapetris. 1.4.1 DNS DNS (Domain Name Service) je síťová služba, která převádí doménové jméno (např. seznam.cz) na jeho IP adresu 77.75.76.3). DNS je sít serverů s databází doménových jmen a jejich IP ekvivalentů, které se nachází na Internetu. Všechny servery jsou vzájemně propojeny. Pokud není konkrétní server schopen při přijetí žádosti zajistit přepis jména na IP adresu (např. ji ještě nemá v databázi), server předá tento požadavek na jiné DNS servery, které si tento požadavek předávají tak dlouho, dokud není doménové jméno převedeno na IP adresu. Služby DNS serverů používají prakticky všechny programy, které fungují na Internetu. Vždy, když píšeme doménové jméno do prohlížeče, DNS vypočítá, jaká IP adresa odpovídá tomuto názvu a jaké zdroje je třeba poskytnout. DNS je rozdělen do několika úrovní. Uveďme si jednoduchý příklad: za nejvyšší úroveň můžeme považovat domény země cz (Česká republika), kz (Kazachstán), ru (Rusko), com pro komerční organizace atd. druhá úroveň zobrazuje název organizace Google, seznam apod. nejnižší úroveň zobrazuje název počítače v rámci organizace 10 KROL, Ed. Vše o Internetu. Průvodce uživatele a katalog zdrojů (2. vydání). Veletiny: Science, 1994. ISBN 80-901475-4-2 14

Z výše uvedeného lze vyvodit, že pro provozování webové stránky jsou zapotřebí celkem tři počítače: počítač-klient Server, na kterém je uložena webová stránka DNS-server Pokud zadáme nějaké jméno webové stránky do adresního řádku prohlížeče, prohlížeč bude nejprve komunikovat s DNS-serverem a získá od něho IP adresu webového serveru. Následně pak požádá webový server o webovou stránku se správnou adresou. Schéma 3: Složitá výměna informací pří pomocí IP-adresy Počítač-server DNS server IP počítačů, na kterém se nachází webová stránka 1 2 Prohlížeče (Opera, Chrome atd.) 3 4 Webový server 1. Žádost o IP, na kterém se nachází webová stránka; 2. obdržení IP; 3. žádost od poznaného IP, aby ten ukázal webovou stránku; 4. získání html-souboru. Pouze samo doménové jméno však ještě nestačí. Soubory, které se mají stát webovou stránkou, musí být někde umístěny. Takové místo musí splňovat následující podmínky: musí to být počítač počítač musí být stále zapnutý a připojený k Internetu výhodou je vysokorychlostní připojení k Internetu počítač musí mít přidělenu IP adresu, pod kterou je možné ho najít musí mít nainstalovaný speciální software Z toho vyplývá, že musíme mít server (ten byl popsán v předchozích kapitolách). Webový server je nákladné zařízení jak z hlediska pořízení, tak z hlediska nákladů. Proto ho nemá každý, kdo chce webové stránky provozovat. Pro ně je k dispozici služba nazvaná hosting. 15

1.4.2 Hosting Hosting (neboli hostování webových stránek) je služba, která poskytuje prostředky pro fyzické umístění informací na serveru, do něhož nahrajeme soubory projektu webových stránek, a který je vždy připojen do sítě. Pod pojmem hosting si můžeme představit široké spektrum služeb: domény zdarma elektronická pošta databáze podpora skriptů zabezpečení před síťovými útoky technická podpora V souladu s podmínkami služby můžeme zvolit bezplatný nebo placený hosting. Bezplatný hosting znamená, že umístění webové stránky na webový server je zdarma. Bezplatný hosting má bohužel celou řadu nevýhod: malý objem prostoru na disku různá omezení týkající se formátu a velikosti nahrávaných souborů často zákaz používání skriptovacích jazyků (Perl, Java, ASP.NET) a databází umístění reklamy na vašich stránkách pomalejší než placené nejsou spolehlivé Placený hosting znamená, že za použití hostingu musí jeho uživatel zaplatit určitou finanční částku. Tato částka je obvykle závislá na kvalitě poskytovaných služeb. Placený hosting nabízí daleko lepší služby včetně různých garancí. Obvykle nabízí větší prostor na disku, lepší administraci, statistiky, podporu většího počtu databází, více emailů apod. Tento prostor obvykle poskytuje tzv. poskytovatel hostingu a platí se za něj. Podle typu poskytovaných prostředků se hosting dělí na: 1. Virtuální hosting. V tomto typu hostingu existuje množství webových stránek umístěných na jednom serveru. 2. Virtuální privátní server (VPS). Pokud zvolíte tento hosting, budete mít místo na disku, část sdílené pamětí a procesorový čas na serveru. 16

Virtuální server je emulovaný stroj běžící na fyzickém hardwaru skutečného serveru. VPS je mezikrok mezi webhostingem a dedikovaným serverem, kdy klient může se serverem pracovat, jako by byl vyhrazen pouze pro něj, ale prakticky jsou HW prostředky sdílené několika uživateli. Při klasickém serverhostingu má zákazník umístěn svůj vlastní nebo pronajatý server v datovém centru. Hradí náklady na provoz serveru, zajišťuje si sám jeho monitoring, dohlíží na správnou funkčnost hardware, jeho upgrady v případě potřeby vyššího výkonu a případné opravy. Z uvedených důvodů je také nucen řešit návštěvy datového centra, přístupová oprávnění apod. Virtuální serverhosting je funkčností shodný s klasickým serverhostingem, veškeré starosti a náklady na provoz serveru ale přebírá poskytovatel služby. Ten také řeší případné opravy a zodpovídá za dostupnost serveru. Zákazník nemusí nikdy navštěvovat datové centrum ani se starat o hardware nebo řešit problémy s výkonem. Při potřebě vyššího výkonu lze více zdrojů (více procesorových jader), více paměti RAM, větší nebo další HDD, nastavit prakticky okamžitě. Hlavní výhody virtuálního serveru Plná kontrola nad serverem včetně SSH (Secure Shell je v informatice označení pro program a zároveň pro zabezpečený komunikační protokol v počítačových sítích, které používají TCP/IP přístup) Instalace libovolných programů a skriptovacích jazyků Libovolné nastavení aplikací a pracovního prostředí Nízká cena v porovnání s dedikovaným serverem Vyhrazený výpočetní výkon Neomezený datový tok V případě že je server nevytížen, má uživatel navíc k dispozici řádově vyšší výkon a množství operační paměti 11 11 Vas-hosting.cz: Virtualni-server [online]. 2005-2014 [cit. 2013-12-15]. Dostupné z: http://www.vas-hosting.cz/virtualni-server.html 17

3. Dedikovaný server je fyzický server pronajatý pouze jedinému zákazníkovi a jeho webovým projektům, databázím, e-mailům a dalším aplikacím. Dedikované servery jsou určeny pro větší webové projekty a aplikace, kde je kladen velký důraz na výkon, bezpečnost a stabilitu. Na rozdíl od webhostingu, kde se dělí o jednu HW platformu desítky (někdy i stovky) zákazníků, je dedikovaný server nesdílený. Součástí služby pronájmu serverů je i konektivita. Pronájem serveru je výhodný pro společnosti, které chtějí přenechat provoz serveru poskytovateli, který například zajistí výměnu jednotlivých komponent v případě havárie. 12 4. Colocation neboli lokalizovaný hosting. Poskytuje podobné služby jako dedikovaný server, ale kupující si v tomto případě nepronajímá server, ale kupuje si svůj osobní server, který poté doručí do datového centra. Hostingová společnost v tomto případě poskytuje serveru fyzický prostor a zajišťuje jeho výkon (síťové připojení prostřednictvím komunikačních kanálů s vysokou šířkou pásma, redundantní napájení, bezpečnost, ochrana proti přehřátí, prachu a vlhkosti). Představili jsme si jednotlivé druhy hostingu, především pak jeho rozdělení na bezplatné a placené. Ceny za hosting mohou být od několika korun až po tisíce korun za měsíc, ale to neznamená, že čím dražší server si pronajmeme, tím lépe pro nás. Za vysokou cenu totiž i na poli hostingu můžeme získat nekvalitní výrobek. 12 Master.cz: dedikovane-servery [online]. 1996-2014 [cit. 2013-12-15]. Dostupné z: http://www.master.cz/dedikovane-servery/ 18

2. Tvorba webových stránek Tvorba webových stránek se skládá z několika kroků: vytvoření struktury webové stránky, grafické části (v těchto dvou krocích je potřeba zjistit od zákazníka, jak má stránka vypadat a k jakému účelu bude sloužit atd.), kódování v HTML&CSS. K dalším potřebám současných moderních webových stránek patří programování pro webové účely, ve většině případů to jsou programovací jazyky PHP a JavaScript. 2.1 HTML HTML (Hypertext Markup Language) je značkovací jazyk pro hypertext. Původně měl jazyk HTML umožnit zobrazení textového a obrazového obsahu stránek a propojit jednotlivé stránky mezi sebou pomocí odkazů. Jazyk HTML byl vytvořen k tomu, aby dal obsahu WWW stránky smysl. Pomocí HTML tedy vytváříme logickou strukturu dokumentu. Obvykle zahrnuje: formát stránky a tiskové zrcadlo rozvržení textu, obrázků a prázdných ploch typ, velikost a barvy písma záhlaví a nadpisy další grafické prvky (logo, linky a podobně) výběr barev nebo motivů pozadí HTML definuje syntaxi a umístění speciálních instrukcí (tagy), které nejsou zobrazeny, ale ukazují prohlížeči, jak zobrazit obsah dokumentu. Slouží také k vytvoření odkazů na jiné dokumenty, ať již lokální nebo síťové. Struktura HTML stránky <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head>hlavička stránky <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>titulek stránky</title> </head> <body> Obsah stránky </body> </html> 19

HTML dokument je rozdělen do dvou hlavních částí: záhlaví <head> a těla <body>. Záhlaví obsahuje informace o dokumentu (jeho jméno a metodické informace, které popisují obsah). V těle se nachází obsah dokumentu (ten se zobrazí v prohlížeči). <html> uvozuje a zakončuje celou stránku. <title> velmi důležitá značka, titulek stránky, její název. Zobrazuje se úplně nahoře v horním pruhu prohlížeče, rovněž se zobrazuje ve výsledcích vyhledávání (např. google.cz). V dnešní době populární HTML 4.01. Rozlišujeme následující typy: HTML 4.01 Transitional - jedná se o nejrozšířenější typ a je v něm napsaná většina existujících webových stránek (z tohoto důvodu je v něm napsána také velká část učebnic a příruček o HTML). HTML 4.01 Strict - liší se od transitional tím, že nepřipouští všechny tagy a prvky, které odpovídají za podobu a prezentaci dokumentu; HTML 4.01 Frameset - je naopak liberálnější než transitional, protože umožňuje vše jako transitional, ale navíc podporuje i rámečky. Nedávno byl vyvinut HTML5. Rozdíly mezi HTML4 a HTML5 uvedu níže. Tag Tabulka 1: Rozdíl mezi HTML4 a HTML5 HTML 4.01 Transitional Strict Frameset 20 HTML5 <!-- --> <a> <abbr> <acronym> <address> <applet> <area> <article> <aside> <audio> <!DOCTYPE> <base> <body> <br> <button>

<caption> <col> <colgroup> <command> <comment> <datalist> <dd> <del> <div> <dl> <dt> <em> <embed> <fieldset> <figcaption> <figure> <font> <footer> <form> <frame> <frameset> <h1>, <h2>,<h3>, <h4>,<h5>, <h6> <head> <header> <hgroup> <hr> <html> <i> <iframe> <img> <input> <label> <legend> <li> <link> <map> <mark> <meta> <nav> <object> <ol> <option> <output> <p> <param> <pre> <samp> <script> <section> <select> <source> <span> <style> <sub> <sup> <summary> <table> 21

<tbody> <td> <textarea> <tfoot> <th> <thead> <time> <title> <tr> <tt> <u> <ul> <var> <video> <wbr> Nyní popíšeme prvek Doctype, do HTMLu píšeme <!DOCTYPE>. Doctype je určen pro označení typu aktuálního dokumentu DTD (Document Type Definition). Je to nutné proto, aby prohlížeč rozuměl, jak interpretovat aktuální webovou stránku, protože HTML existuje v několika verzích, které jsou uvedeny výše. Tabulka 2: DOCTYPE v různých verzích HTML Verze HTML DOCTYPE Popis HTML 4.01 Transitional HTML 4.01 Strict HTML 4.01 Frameset <!DOCTYPE HTML PUBLIC "- //W3C//DTD HTML4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "- //W3C//DTD HTML4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <!DOCTYPE HTML PUBLIC "- //W3C//DTD HTML4.01 Frameset//EN" "http://www.w3.org/tr/html4/frameset.dtd"> Transitional syntax HTML. Obsahuje všechny HTML prvky a atributy, společné se zastaralými. Striktní syntax HTML. Obsahuje všechny HTML prvky a atributy, kromě zastaralých. Rámečky jsou zakázány. V HTML dokumentu používáme rámečky (frame). Stejný jako HTML 4.01 Transitional, ale dovolí rámečky. HTML5 <!DOCTYPE html> Pro všechny dokumenty Nyní si popíšeme slíbené rozdíly mezi HTML4 a HTML5. Jak vidíte z tabulky výše, jedním z rozdílů je zmíněný Doctype. Dříve jsme v HTML4 psali: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> 22

Ale v HTML5 stač napsat pouze: <!DOCTYPE html> Další důležitý příklad: Tag <meta> v HTML4 bude vypadat takto <meta http-equiv="content-type" content="text/html; charset=utf-8"> V HTML5 takto: <meta charset="utf-8"> HTML5 také obsahuje hodně nových tagu: <header>, <footer>, <section> atd. Některé staré tagy naproti tomu byly odstraněny: <font>, <center>, <frame> atd. Popíšu si ještě, co to vlastně jsou tag a atribut. 2.1.1 Tag Tag je prvek jazyka HTML, je to prostý text, který je uzavřen v lomených závorkách <>. Je to aktivní prvek, který mění za ním následující informaci. Tag definuje hranici prvku v textu a má jen malý počet atributů. Většina tagů jsou počáteční (otevřené) a konečné (zavřené). Text mezi nimi bude provádět pokyny podle instrukci. Konečný tag má stejný název jako počáteční, ale píšeme před ním lomítko (/). Konečný tag nikdy neobsahuje atribut. <tag>text zobrazovaný na stránce.</tag> Některé tagy nemají konečný tag, protože se používají pro umístění jednotlivých prvků na stránce. Jedním z nich je tag <img>. (Např. tag <img> je určen pro zobrazení obrázků na webové stránce v grafickém formátu GIF, JPEG nebo PNG. Nejedná se o uzavírací tag, je to jen jeden tag. Tento tag má jediný povinný atribut, který určuje cestu na obrázek). Další samostatné tagy jsou např. konec řádku (<br>), horizontální čára (<hr>) a tagy, které obsahují informace 23

o dokumentu a neovlivňují obsah zobrazovaný na obrazovce. To jsou například tagy <meta> a <base>. Jinými slovy lze říct, že existují párové a nepárové tagy. Jak je zřejmé z příkladu, vyskytují se tagy v párech <tag> a </tag>, kdy první tag něco začíná a druhý něco končí. Příklady párových tagů: <head> je začátek hlavičky a </head> je její konec <body> je začátek těla stránky a </body> je konec těla stránky <b> je začátek tučného textu a </b> je konec tučného textu Schéma 4: a Schéma 5: b Vložení tagu: a správně, b špatně. Z tohoto důvodu můžeme pochopit, že nepárové tagy nemají uzavírací tag, ty ale nejsou časté. 2.1.2 Prvky Prvkem nazýváme celou sekvenci tagů počínaje počátečním tagem a konče tagem ukončovacím. Existují tři základní druhy prvků: blokové, inline a nahrazované. Podle významu, který textu přiřazují, je můžeme rozdělit ještě na prvky pro strukturování dokumentu, textové prvky, prvky pro tvorbu odkazů, prvky pro tvorbu tabulek, prvky pro tvorbu seznamů a podobně. Blokové prvky Jsou to prvky, které tvoří nějaký blok. Zjednodušeně to znamená, že po takovém elementu je text dokumentu zalomen, odřádkován. Blokovými elementy jsou například <h1> pro nadpis nebo <p> pro odstavec. Inline prvky Inline prvky jsou ty, které se nachází uvnitř textu, nedochází po nich k zalomení. Obvykle plní funkci zvýraznění nějaké části textu. Je to například <a> pro hypertextový odkaz. 24

Nahrazované prvky Ty jsou nahrazeny nějakým obsahem, pro začlenění dokumentu jsou důležité jejich rozměry. Například <img> pro obrázek. 2.1.3 Atribut Atribut je vlastnost tagu, která poskytuje další možnosti pro formátování textu. Atributy se píší do počátečního tagu, může jich být více (oddělují se mezerou). Každý atribut má svou hodnotu. Hodnota atributu musí být zapsána v uvozovkách. <prvek atribut="hodnota _atributu">text zobrazovaný na stránce.</prvek> Standard HTML a ostatní standardy pro Web vyvinuté pod vedením konsorcia W3C (World Wide Web Consortium). Standardy, specifikace a projekty nových návrhů lze najít na webových stránkách http://www.3w.org/. HTML dokumenty jsou obvyklými textovými ASCII 13 soubory. To znamená, že k jejich vytvoření můžeme použít libovolný textový editor, dokonce s minimálními funkcemi. K dispozici jsou nástroje pro úpravu, které byly navrženy speciálně pro psaní HTML Protože se jazyk HTML vyvíjel, vznikaly časem různé způsoby, jak formátovat text. Proto dnes existují dva odlišné způsoby, jak můžeme v HTML například obarvit písmo nebo ztučnit text. 1. Starší způsob používá přímo HTML tagy (o tomto způsobu pojednáváme na začátku této podkapitoly). Jen za pomocí tagů však nemůžeme některé věci vytvořit. 2. Novějším způsobem jsou tzv. CSS styly používají tag <style> a obecný atribut style, kterému se přiřazuje nějaká definice. Jedná se o složitější, ale užitečnější a všeobecnější způsob, s jehož pomocí se dají vytvářet různé věci, které popíšeme v následující podkapitole CSS. V následujících odstavcích popíšeme proces vytvoření dynamické webové stránky pomocí DHTML. DHTML je dynamická varianta HTML. 13 ASCII (American Standard Code for Information Interchange) americký standardní kód pro výměnu informací. 25

2.2 DHTML DHTML (Dynamic Hypertext Markup Language nebo prostě Dynamic HTML) je způsob vytvoření interaktivní webové stránky a dynamických efektů na webových stránkách, který používá kombinaci statického značkovacího jazyka HTML, klientský JavaScript, kaskádové styly CSS (Cascading Style Sheets) a někdy také objektové modely dokumentu DOM (Document Object Model). Zkratkou DHTML se označuje souhrn nástrojů a postupů umožňujících dynamické změny HTML dokumentů. Jedná se o postup, jak přímo v prohlížeči na jinak statické stránce zobrazit či skrýt část jejího obsahu, provést určitou akci podle činnosti uživatele (pohyb myši, kliknutí, stisk klávesy, načtení stránky atd.), animovat pohyb prvků na stránce či automatizovat funkce prohlížeče. Může se jednat o animace, dynamické nabídky, textové efekty jako například vržený stín, text, který se zobrazí, jakmile uživatel přesune kurzor na některou položku a podobné efekty. DHTML není samostatný jazyk nebo webový standard, jde o soubor nástrojů a postupů kombinující ostatní technologie. 2.2.1 K čemu je DHTML? Je vcelku k ničemu, protože: DHTML zřídka poskytují nějakou informaci, většinou se jedná pouze o efekt programovací úsilí je zpravidla silně neadekvátní výsledku, protože je třeba skript odladit na mnoha různých platformách nedokáže ukládat data (z bezpečnostních důvodů) Co je z DHTML použitelné: Reklamy Vyskakující menu Veselé matení čtenáře Částečná kontrola ovládání formulářů Vpisování společných hlaviček do mnoha souborů Přizpůsobení vzhledu dokumentu podle volby čtenáře 26

2.2.3 Potřeba DHTML Pokud se DHTML použije správně, může u uživatelů výrazně přispět k lepšímu dojmu z webových stránek. DHTML bylo původně známé pro své flashové efekty. Tyto efekty se dají používat i dnes, ale jejich důležitost je sporná a v případě nevhodného použití mohou být pro uživatele dokonce rušivé a otravné. 2.2.4 Jak DHTML funguje Podle Stevena M. Schafera: DHTML se dá aktivovat bud pomocí určitých vlastností kaskádových stylů nebo pomocí JavaScriptu, který přímo manipuluje s prvky HTML. Při použití JavaScriptu využívá DHTML objektový model prohlížeče, což je strom objektů vycházející ze sady prvků HTML a sady vlastností CSS. Když tento objektový model použijete při svém kódování, můžete změnit vlastností prvků, které jsou propojeny s atributy prvků. Na atributy prvků se v prostředí JavaScriptu odkazuje jako na vlastnosti. Jak se na tyto vlastnosti odkazuje a jaké akce (metody) je s nimi provádět, závisí právě na rozhrání DOM. 14 Závěrem lze říct, že HTML definuje základní strukturu webové stránky a také ukazuje, které prvky se na ní vyskytují. Úprava webové stránky, poloha a tvar prvků jsou přiřazeny stylům, nebo CSS. Pokud se jedná o kódování webových stránek, to se děje za spolupráce HTML a CSS. HTML může vytvořit jednoduchou stránku. Také CSS je nadstavba nad HTML pro lepší formátování textů. Proto pracují HTML a CSS společně. Kterákoli webová stránka je tedy ve skutečnosti kombinací HTML a CSS kódu. Bez základní znalosti těchto technologií není možné správně vytvořit žádné dokumenty. 2.3 CSS CSS (Cascading Style Sheets) neboli kaskádové styly vznikly jako souhrn metod pro úpravu vzhledu stránek. Kaskádové se nazývají proto, že se na sebe mohou vrstvit definice stylu. První návrh normy byl zveřejněn v roce 1994, v roce 1996 byla pak vydána specifikace CSS1 (byla zavedena syntaxe používaná ve všech následujících verzích, způsob vybírání prvků přes selektory, několik pseudotříd, hodnoty a jejich jednotky), v roce 1998 CSS2 (obsahuje navíc stránkovaná média a lepší podporu písem a nastavování pozic prvků. Také byla vylepšena řada dalších vlastností), nyní se pracuje na verzi CSS3 (spojená se standardem HTML5, obsahuje navíc vlastnosti pro prezentaci, díky čemuž bude možné z webových dokumentů efektivně 14 SCHAFER, M. Steven. HTML, XHTML a CSS. Bible pro tvorbu WWW stránek (4. vydání). Praha: Grada Publishing, 2009. ISBN 978-80-247-2850-6 27

vytvářet prezentace). 15 Jazyk byl navržen standardizační organizací W3C, autorem prvotního návrhu byl Håkon Wium Lie. CSS se využívá k formátování obsahu HTML, XHTML a XML dokumentů. Ve srovnání s formátováním pomocí atributů v HTML formátovací schopnosti rozšiřuje. Styly umožňují přesně určit, jak bude který prvek vypadat. Na rozdíl od atributů, stylem můžeme definovat jednotný vzhled prvku pro celý dokument (např. všechny tagy <h1> budou modré), a to jediným zápisem pro příslušný prvek. Stejně tak můžeme pomocí stylu určit odlišné formátování pro třeba jen jediný výskyt určitého prvku. Tím se jednak zbavíme velkého množství kódu, jednak se tento kód stane mnohem přehlednějším. Jeden styl můžeme snadno použít pro libovolné množství stránek, nebo můžeme CSS styly pomocí jednoho souboru ovlivňovat design celého webu. Tabulka 3: Specifikace CSS Specifikace CSS Kategorie Co umí, a jaké možnosti se rozšíří (jde o CSS2 a CSS3) vlastnosti písma barvy textu a pozadí vlastnosti textu vlastnosti blokových prvků způsoby zobrazení prvků řízení pozice CSS1 Hodnoty a jednotky barvy přes některou z předdefinovaných konstant, např. black (černá), blue (modrá), gray (šedá), green (zelená), red (červená), white (bílá) atd. #rgb, kde r, g nebo b jsou barevné složky specifikované jako hexadecimální číslovky (0 až f) rgb(r,g,b), podobně jako výše, ale hodnoty jsou v desítkové soustavě (0 až 255) CSS2 outline vnější ohraničení max-height, max-width, min-height, min-width minimální a maximální šířka nebo výška prvků content nastavitelný obsah prvku counter nástroj pro číslování kapitol cursor kurzor nad prvkem 15 Webtvorba.cz: CSS [online]. 2004 [cit. 2014-03-15]. Dostupné z: http://www.webtvorba.cz/css/uvod-do-css.html 28

position možnost umístit prvek v řádku, v bloku, absolutně, relativně top, bottom, right, left okrajové hodnoty pro position: absolute overflow zobrazení při přetékání obsahu visibility viditelnost prvků z-index možnosti překrývání border-collapse, border-spacing, caption-side, empty-cells nové možnosti pro zobrazení tabulek direction směr psaní textu CSS3 animace CSS3 přímo podporuje animaci prvků (jejich vlastností), doposud se animace dělaly přes DHTML, např. jquery dodatečné možnosti stylování pozadí blokových prvků dodatečná pravidla pro přetékání obsahu blokových prvků další podpora stránkovaného obsahu záložky a možnosti dělení textu flexibilní blokové elementy dodatečné vlastnosti pro písma načítání písma z externího zdroje, přizpůsobení velikosti při nízké čitelnosti, zužování/rozšiřování písma vlastnosti pro generovaný obsah zkracování obsahu s možností expanze, přesunování prvků dále ve stránce cílové odkazy jak a kde se mají otevírat vlastnosti pro čtený text 2D a 3D transformace vlastnosti spolupracující s navigací uživatelsky definované vlastnosti Styl můžeme k dokumentu připojit několika způsoby, níže uvádím příklady: 1. Přímý styl styl můžeme definovat přímo nějakému prvku, což se hodí zvláště v případě, kdy máme definovaný jednotný styl, ale pro například jedno konkrétní slovo chceme použít jiné pravidlo. V takovém případě použijeme v příslušném tagu atribut style: 29

<h1 "style=">text</h1> 2. Pomocí stylopisu (stylesheet) v hlavičce stránky. Stylopis je seznam stylů. Je v něm obecně napsáno, co a jak má být zformátováno: <style type="text/css">body {color: blue}</style> 3. Použitím externího stylopisu to je soubor *.css. Ten pak připojíme k dokumentu zápisem v hlavičce, mezi tagy <head> a </head> v tagu <link>. V souboru je umístěný stylopis. Hlavní výhoda je v tom, že jeden styl lze využit pro více dokumentů: <link rel="stylesheet" type="text/css" href="styl.css" /> Jak již bylo uvedeno výše, pravidla stylu jsou psána v jiném než HTML formátu. Základním pojmem je selector to je název stylů, pro které jsou přidány možnosti formátování. Pod pojmem selector můžeme v dokumentu uvádět tagy, třídy a identifikátory. 2.3.1 Selektor Schéma 6: Obecný způsob zápisu selektoru Selektor (angl. selector) může být přeložen jako vybraný. Selektor udává, jaký prvek bude blok deklarací formátovat. Selektorem může být třída (class), identifikátor (id), tag, nebo různé kombinace. Identifikátoru se v CSS předřazuje křížek (#), třídám tečka (.) a tagu se nepředřazuje nic, napíše se tak jak je (bez špičatých závorek). Je možné formátovat více elementů najednou, stačí jejich selektory oddělovat čárami. Dalším formátováním je formátování vnořených prvků, pro takové formátování se selektory oddělují mezerami. Selektory jsou vzory, díky nimž uživatelský prohlížeč pozná, na které prvky se určitý styl vztahuje. Shrnutí v následujících příkladech: Identifikátor jako selektor. Identifikátor určuje unikátní jméno prvku, který se používá ke změně svého stylu a přístupu k němu prostřednictvím skriptů. #id {vlastnost: hodnota;} 30

Třída jako selektor. Třídy se používají, když chceme definovat styl pro jednotlivý prvek na webové stránce nebo nastavit různé styly pro jeden tag..class {vlastnost: hodnota;} Tag jako selektor. Jako selektor může být libovolný HTML tag, který definuje pravidla pro formátování, jako jsou barva, barva pozadí, velikost atd. tag {vlastnost: hodnota;} Univerzální selektor. Někdy je třeba nainstalovat jeden styl pro všechny prvky webových stránek, například nastavení písma nebo styl písma textu. V tomto případě použijeme univerzální selektor, který odpovídá libovolnému prvku webové stránky. Pro označení selektoru používáme hvězdičku (*). *{popis pravidel stylu} Hromadné.class, #id {vlastnost: hodnota;} To označuje, že prvky s třídou "class" budou formátovány stejně jako prvek s identifikátorem "id". Hromadné formátování můžeme přiřadit prvkům neomezeně. Formátování vnořených prvků p a {vlastnost: hodnota;} Označení bude formátovaný pouze a (odkaz), který se nachází v p (odstavec). Vnořené formátování je možné kombinovat s hromadným formátováním. Tabulka 4: Základní CSS vlastností Vlastnost Hodnoty Význam color barvy slovy, hexadecimálně, rgb změna barvy textu text-align left, right, center, justify zarovnání textu text-decoration none, over line, line-through, underline, blink přikrášlení textu - podtržení, natržení, přeškrtnutí.. text-transform uppercase, lowercase, capitalize převod velkých a malých písmen 31

margin jednotky vnější odsazení prvku padding jednotky vnitřní odsazení background-color barvy slovy, hexadecimálně, rgb barva pozadí background-image cesta k obrázku obrázkové pozadí background-repeat none, repeat-x, repeat-y iterace obrázku v pozadí width jednotky šířka prvku height jednotky výška prvku border-width jednotky šířka ohraničení border-style none, dotted, dashed, solid, double, groove, ridge, inset, outset styl ohraničení position absolute, relative umístění left jednotky pozice zleva top jednotky pozice shora z-index čísla pozice prvku v ose z, vyšší číslo blíže border-collapse separate, collapse překrývání buněk v tabulce visibility visible, hidden viditelnost prvku 2.3.2 Dědičnost stylů Podle Stevena M. Schafera: Slovo dědičnost je ve slovníku Webster s Dictionary definováno jako: a) skutek zdědění majetku; b) přenos genetických kvalit z rodičů na potomky; c) získání majetku, stavu nebo charakteru od minulých generací. A právě tato definice odpovídá i chování prvků HTML ovládaných kaskádovými styly dceřiné prvky dědí vlastnosti svých rodičů. 16 Dědičnost stylů je při práci s kaskádovými styly velmi důležitým mechanizmem. V kaskádových stylech jsou všechny vlastnosti popředí automaticky děděny všemi následujícími prvky. Následující definice bude mít například za následek, že všechny prvky budou mít červenou barvu, pokud každý prvek v dokumentu je potomkem body: body {color: red;} 16 SCHAFER, M. Steven. HTML, XHTML a CSS. Bible pro tvorbu WWW stránek (4. vydání). Praha: Grada Publishing, 2009. ISBN 978-80-247-2850-6 32

Toto pravidlo o dědičnosti platí pouze pro vlastnosti popředí. Vlastnosti pozadí (barva pozadí, obrázek pozadí atd.) totiž následné prvky automaticky nepřebírají. 2.3.3 Kaskáda Zkratka CSS je označení pro kaskádové styly (Cascading Style Sheets), jedním z klíčových slov je kaskáda. Pod tímto pojmem v tomto případě rozumíme současné použití různých pravidel stylu pro prvky v dokumentu za pomoci připojení několika stylů souboru, dědičnosti majetku a dalších technik. Aby v takové situaci prohlížeč pochopil, jaké pravidlo bude nakonec platit pro prvek, byly zavedeny některé priority. Níže jsou priority prohlížeče, které řídí zpracování pravidel stylu. Platí, že čím vyšší je položka v seznamu, tím nižší je její priorita: 1. Styl prohlížeče. Jedná se o styly, které prohlížeč použije v případě, že žádné jiné styly nejsou v dokumentu definovány. Tyto styly jsou obvykle velmi primitivní a jednoduché. 2. Styl uživatele. Jedná se o styly, které si vybere uživatel. Tyto styly si koncový uživatel vybírá z místních šablon a lze pomocí nich modifikovat výchozí vzhled dokumentu. 3. Styl autora. Jedná se o styly, které do dokumentu vloží sám autor. Tyto styly označují způsob, jak má podle autora dokument vypadat. 2.3.4 Specifičnost Existuje ještě jedna stránka kaskádových stylů, která přispívá ke konfliktům při zobrazení. Jestliže se k jednomu prvku současně vztahují konfliktní pravidla stylu, má vyšší prioritu pravidlo, u kterého je hodnota specifičnosti selektoru větší. Specifičnost je nějaká podmíněná hodnota, kterou lze vypočítat následujícím způsobem: a) pro každý identifikátor platí 100 b) pro každou třídu a pseudotřídu platí 10 c) pro každý selektor tagu a pseudoprvek platí 1 Po sečtení těchto hodnot získáme hodnotu specifičnosti pro daný selektor. 33

Obrázek 1: Průměrný způsob výpočtu specifičnosti Inline styl, přidaný do tagu přes atribut style, má specifičnost 1000, a proto vždy překrývá související a globální styly. 2.3.5 Pseudotřídy Pseudotřídy jsou identifikátory, které dovedou prohlížeče zpracovat a aplikovat na určité prvky, aniž by tyto prvky musely být explicitně stylizovány. Pseudotřídy definují dynamický stav prvků, které se mění s časem nebo s akcemi uživatele. Příkladem takového stavu je text odkazu, který mění barvu, když na něm podržíme kurzor myši (jinými slovy je odkaz navštívený nebo nenavštívený). Při použití pseudotříd prohlížeč nezatěžuje aktuální dokument, proto pomocí pseudotříd můžeme obdržet různé dynamické efekty na stránce. Syntaxe použití pseudotříd: selektor: pseudotřída { popis pravidel stylu } Obvykle jsou všechny pseudotřídy rozděleny do tří skupin: definující stav prvků související se stromem prvků označující jazyk textu Pseudotřídy definující stav prvků Tato skupina obsahuje pseudotřídy, které uznávají současný stav prvků a používají styl pouze pro tuto podmínku. Jako příklad můžeme uvést styly odkazů. U těchto prvků se dá použít celá řada pseudotříd. 34