• No results found

Tvorba webových stránek a HTML 5. Martin Trnečka

N/A
N/A
Protected

Academic year: 2021

Share "Tvorba webových stránek a HTML 5. Martin Trnečka"

Copied!
46
0
0

Loading.... (view fulltext now)

Full text

(1)

Informaˇ

cn´ı syst´

emy

Tvorba webov´ych str´anek a HTML 5

Martin Trneˇcka

Katedra informatiky Univerzita Palack´eho v Olomouci

(2)

Webov´

e str´

anky

Internet - fenom´en, kter´y nen´ı tˇreba pˇredstavovat.

Webov´a str´anka (www str´anka, internetov´a str´anka, html str´anka).

Produkt cel´e ˇrady technologi´ı: HTML, CSS, JavaScript, PHP, MySQL, ASP,

Ruby on Rails, . . . .

Nen´ı moˇzn´e uspokojivˇe prezentovat vˇsechny technologie.

Zamˇeˇr´ıme se na volnˇe dostupn´e ˇreˇsen´ı (ne pˇr´ıliˇs vhodn´e pro enormn´ı IS).

Velice popul´arn´ı u menˇs´ıch a stˇredn´ıch IS (ale i velk´e IS).

V´ybˇer technologi´ı:strategick´e rozhodnut´ı podl´ehaj´ıc´ı cel´e ˇradˇe aspekt˚u.

(3)

Opakov´

an´ı z KMI/POS

Hypertext Transfer Protocol (HTTP) zajiˇst’uje komunikaci mezi serverem a

klientem na principu request˚u (HTTP 1.1, novˇe HTTP/2).

Z´akladn´ı protokol (aplikaˇcn´ı vrstva TCP/IP) na kter´em je vystavˇen Internet.

Dvˇe z´akladn´ı metody: GET a POST.

GET:

Poˇzadavek pomoc´ı URL requestu

Z˚ust´av´a v historii prohl´ıˇzeˇce Omezen´ı d´elky (2048 znak˚u) Nevhodn´y pro pˇrenos citliv´ych dat

POST:

Nez˚ust´av´a v historii prohl´ıˇzeˇce ˇ

Z´adn´e omezen´ı d´elky. Nelze cachovat.

(4)

HyperText Markup Language (HTML)

Znaˇckovac´ı jazyk!

Kl´ıˇcov´y prvek kaˇzd´e webov´e str´anky (*.html).

Slouˇz´ı pro definici v´yznamu (s´emantiky) obsahu webov´e str´anky.

Poˇc´atky z roku 1990, nejnovˇejˇs´ı HTML 5.

Standard jazyka, konsorcium W3C,http://www.w3.org/

Interpretovateln´y vˇsemi

”bˇeˇzn´ymi“ webov´ymi prohl´ıˇzeˇci (Chrome, Firefox,

Internet Explorer (IE), Opera, Safari, . . . ) - jsou zde jist´e probl´emy (v´ıce pozdˇeji).

”HTML 5 defines the fifth major revision of the core language of the World Wide Web, HTML. This document describes the set of guiding principles used by the HTML Working Group for the development of HTML5. The principles offer guidance for the design of HTML in the areas of compatibility, utility and interoperability.“

(5)

Historie v´

yvoje HTML I.

1980 - Syst´em ENQUIRE pro CERN (Tim Berners-Lee).

1989 - 1990 - pˇredstavena prvn´ı verze HTML + browser (vznik www). 1991 - prvn´ı dokumentace.

1993 - prvn´ı poˇzadavky na standardizaci.

1994 - zaloˇzena prvn´ı pracovn´ı skupina.

1995 - HTML 2.0

1996 - HTML pˇrech´az´ı pod World Wide Web Consortium (W3C).

1997 - HTML 3.2, brzy na to HTML 4.0 (uvedeno nˇekolik standard˚u a DHTML)

1999 - HTML 4.01, v roce 2000 separ´atn´ı vˇetev v´yvoje XHTML.

2004 - zaˇc´atek v´yvoje HTML 5

(6)

Historie v´

yvoje HTML II.

2011 - rozˇs´ıˇren´ı skupiny W3C,

”last call“ pro HTML 5

2012 - prvn´ı pracovn´ı draft HTML 5.1 verze.

2013 - HTML 5 (st´ale nen´ı hotov´e) je

”podporov´ano“ vˇsemi moder. prohl´ıˇzeˇci.

2014 -28. ˇr´ıjen 2014, bod zlomu, HTML 5 z´ısk´av´a status W3C

recommendation, st´av´a se ofici´aln´ım standardem.

2015 - Mezidob´ı, zb´yv´a implementovat zbytek HTML 5 standardu. Pr´ace na

draftu HTML 5.1 (oˇcek´avan´e dokonˇcen´ı je ozn´ameno na konec roku 2016)

http://www.w3.org/html/wg/drafts/html/master/. Oˇcek´avan´y draft HTML 5.2 verze.

Pozn´amka:Historie stoj´ıc´ı za v´yvojem (r)evoluˇcn´ıho HTML 5 je mnohem

rozs´ahlejˇs´ı a sloˇzitˇejˇs´ı. Nen´ı moˇzn´e ji uspokojivˇe shrnout pomoc´ı p´ar odr´aˇzek. Sloˇzit´e

a pomal´e procesy standartizace W3C, vznik HTML living standardu predikuj´ı, ˇze

(7)

Tvorba www str´

anek obecnˇ

e

Mnoho rozliˇcn´ych pˇr´ıstup˚u a pohled˚u na www str´anky a jejich tvorbu.

N´aˇs pohled: web je informaˇcn´ı syst´em. D˚usledek:mus´ı plnit sv˚uj ´uˇcel.

Progressive enhancement

Obecn´y princip pˇri tvorbˇe webu.

Zaˇc´ın´ame s HTML a postupnˇe nabalujeme dalˇs´ı technologie.

Obl´ıben´y pˇr´ıstup, ale m´a i sv´e stinn´e str´anky.

Z´akladn´ı stavebn´ı bloky:

Textov´y obsah - informace, data, prezentace.

Odkazy na jin´e soubory - obr´azky, videa, hudba, jin´e HTML soubory.

Znaˇcky - popisuj´ıc´ı a strukturuj´ıc´ı www str´anku.

(8)

Tvorba www str´

anek podrobnˇ

eji

Je nutn´e si uvˇedomit:

Tvorba www str´anek = softwarov´y projekt (mnohdy velice rozs´ahl´y).

Znalosti z oblasti softwarov´eho inˇzen´yrstv´ı (principy v´yvoje software, anal´yza,

wire frame, GUI a dalˇs´ı).

Budeme se zab´yvat tvorbou z´akladn´ıch www str´anek (ne vˇsak nutnˇe

jednoduch´ych) a tuto znalost postupnˇe rozˇsiˇrovat.

V praxi velice popul´arn´ı: vyuˇz´ıt jiˇz existuj´ıc´ı technologii Java, .NET, popˇr´ıpadˇe

nˇejak´y framework (Nette, Symphony, Ruby on Rails) a na n´ı vystavˇet web. M´a

sv´e v´yhody, ˇsetˇr´ı ˇcas, ale odstiˇnuje uˇzivatele od z´aklad˚u.

”Program´ator se pak st´av´a uˇzivatelem“ - probl´em posledn´ı doby.

Pouˇz´ıv´an´ı framework˚u je naprosto pˇrirozen´y v´yvoj na rozd´ıl od mnoh´ych

program´ator˚u si touto evoluc´ı projdeme.

(9)

r´ıklad (HTML 5 k´

od)

1 <!DOCTYPE html>

2 <html lang="en">

3 <head>

4 <meta charset="utf-8"/>

5 <title>Blue Flax (Linum lewisii)</title>

6 </head>

7 <body>

8 <article>

9 <h1>The Ephemeral Blue Flax</h1>

10

11 <!−−Blue Flax−−>

12 <p>I am continually<em>amazed</em>at the beautiful, delicate

13 <a href="http://en.wikipedia.org/wiki/Linum_lewisii"rel="external"

14 title="Learn more about Blue Flax">Blue Flax</a>that somehow took hold in my garden. 15 They are awash in color every morning, yet not a single flower remains by the afternoon . They are 16 the very definition of ephemeral.</p>

17

18 <img src="blueflax.jpg"width="300"height="175"alt="Blue Flax (Linum lewisii)"/>

19 </article>

20 </body>

(10)

yznam HTML znaˇ

cek

Znaˇcky (nˇekdy t´eˇz HTML entity, ˇci pouze entity popˇr´ıpadˇe tagy) pˇriˇrazuj´ı

v´yznam obsahu (ud´avaj´ı s´emantiku).

S´emantika m´a vliv na celou ˇradu kl´ıˇcov´ych atribut˚u: pˇr´ıstupnost, SEO,

jednoduchost.

Je s´emantika nutn´a? Ano! Anonymita dat.

Znaˇcky HTML neˇr´ıkaj´ı nic o podobˇe (vzhledu) obsahu. Ne vˇzdy tomu tak bylo,

HTML 5 pˇrich´az´ı v tomto ohledu se zcela striktn´ı politikou.

Pˇresto je obsah zobrazen v urˇcit´e podobˇe (podrobnˇeji se k tomu vr´at´ıme na

dalˇs´ıch pˇredn´aˇsk´ach).

Z´akladn´ı dˇelen´ı znaˇcek (semantika):

1 Blokov´e - jejich pouˇzit´ı zp˚usob´ı vytvoˇren´ı bloku. Napˇr. <div>, <p>, . . .

(11)

akladn´ı syntaxe HTML I.

Z´akladn´ı dˇelen´ı znaˇcek (syntaxe):

1 P´arov´e -<div>Obsah</div>

2 Nep´arov´e -<img src="obrazek.jpg" />

Pro jednoduchost budeme p´arov´e znaˇcky ps´at pomoc´ı jejich uvozovac´ıho tagu.

Definice (Syntaxe p´

arov´

eho tagu)

<uvozovaci tag[atribut1=”hodnota1”. . . atributn=”hodnotan”] >

obsah tagu

< /ukoncovaci tag>

r´ıklad (Odkaz, p´

arov´

y tag)

1 <a href="http://en.wikipedia.org"rel="external"title="Learn more about Blue Flax">

2 Blue Flax 3 </a>

(12)

akladn´ı syntaxe HTML II.

Definice (Syntaxe nep´

arov´

eho tagu)

<uvozovaci tag[atribut1=”hodnota1”. . . atributn=”hodnotan”] / >

V HTML 5 jiˇz nen´ı znak / na konci nep´arov´eho znaku povinn´y (ani zak´azan´y).

r´ıklad (Obr´

azek, nep´

arov´

y tag)

1 <img src="blueflax.jpg"width="300"height="175"alt="Blue Flax (Linum lewisii)"/>

Z hlediska syntaxe nejsou atributy povinn´e, ale bez nich nemaj´ı nˇekter´e znaˇcky

v´yznam. Rovnˇeˇz nˇekter´e atributy jsou doporuˇcen´e.

Definice (Pr´

azdn´

y element)

<uvozovaci tag[atribut1=”hodnota1”. . . atributn=”hodnotan”] >

(13)

akladn´ı syntaxe HTML III. (atributy)

V HTML 5 zapisovat atributy elementu nˇekolika zp˚usoby

r´ıklad (Z´

apis atribut˚

u)

1 <input type="text"disabled>

2 <input type="text"value=yes>

3 <input type="text"value=’no’>

4 <input type="text"value="yes or no">

Z´apis atribut˚u se ˇr´ıd´ı jednoduch´ymi pravidly:

http://www.w3.org/TR/html5/syntax.html#attributes-0

Glob´aln´ı atributy, spoleˇcn´e vˇsem HTML element˚um:

(14)

Vztah potomek rodiˇ

c

r´ıklad

1 <article>

2 <h1>The Ephemeral Blue Flax</h1>

3 <img src="blueflax.jpg"... />

4 <p>... continually <em>amazed</em>... delicate<a...>Blue Flax</a>...</p>

5 </article>

Napˇr.<h1> je potomek <article>. <p>je rodiˇcem prvk˚u <em> a <a>. Elementy

tedy existuj´ı v urˇcit´e hierarchick´e struktuˇre.

r´ıklad (Korektn´ı vs. nekorektn´ı pouˇ

zit´ı znaˇ

cek)

1 <p>... continually <em>amazed</em>...</p>

2 <p>... continually <em>amazed ...</p></em>

(15)

Syntaxe HTML (z´

akladn´ı struktura dokumentu) I.

<!DOCTYPE html>, speci´aln´ı znaˇcka pro webov´e prohl´ıˇzeˇce, ud´av´a v jak´em form´atu

(standardu) je dokument zaps´an. Pokud nebude standard dodrˇzen st´av´a se

dokument nevalidn´ı (syntakticky nespr´avn´y)!

r´ıklad (HTML 5

DOCTYPE

)

1 <!DOCTYPE html>

r´ıklad (Zastaral´

e, ale st´

ale funkˇ

cn´ı

DOCTYPE

)

1 <!DOCTYPE htmlPUBLIC"-//W3C//DTD HTML 4.0//EN">

2 <!DOCTYPE htmlPUBLIC"-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

3 <!DOCTYPE htmlPUBLIC"-//W3C//DTD HTML 4.01//EN">

4 <!DOCTYPE htmlPUBLIC"-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

5 <!DOCTYPE htmlPUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN"

6 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

7 <!DOCTYPE htmlPUBLIC"-//W3C//DTD XHTML 1.1//EN"

(16)

Syntaxe HTML (z´

akladn´ı struktura dokumentu) II.

<html>, uvozen´ı zaˇc´atku html str´anky.

<head>, vymezuje hlaviˇcku html dokumentu.

<body>, vymezen´ı obsahu (tˇela) html str´anky.

r´ıklad

1 <html lang=’cs’> 2 <head> 3 <!−−hlavicka stranky−−> 4 </head> 5 <body> 6 <!−−obsah stranky−−> 7 </body> 8 <html>

(17)

Sekce

<head>

Slouˇz´ı pro nastaven´ı a specifikaci vlastnost´ı html str´anky. Obvykle obsahuje

informace o vkl´adan´ych souborech (CSS, Java Script) a meta tagy.

<title>, nejd˚uleˇzitˇejˇs´ı prvek t´eto sekce, urˇcuje n´azev str´anky, m´a velk´y v´yznam

pˇredevˇs´ım pro SEO. Pouze text bez dalˇs´ıch html znaˇcek.

Definice (Syntaxe meta tagu)

<meta name=”val1”|http-equiv=”val1”content=”val2”/ >

r´ıklad (Bˇ

zn´

e meta tagy)

1 <meta charset="utf-8"/>

2 <meta name="description"content="Page description..."/>

3 <meta name="keywords"content="Key words for searching..."/>

4 <meta name="author"content="Martin Trnecka"/>

5 <metahttp−equiv="refresh"content="30">

6 <metahttp−equiv="content-type"content="text/html; charset=UTF-8"><!−−zastarale−−>

(18)

Syntaxe HTML I. (Nadpisy)

<h1>, <h2>,<h3>, <h4>, <h5>, <h6>, nadpisy r˚uzn´e ´urovnˇe.

r´ıklad

1 <h1>Velky nadpis</h1>

2 <h6>Nejmensi nadpis</h6>

Praktick´y tip: Aˇckoliv existuje 6 ´urovn´ı v praxi se bˇeˇznˇe pouˇz´ıvaj´ı pouze prvn´ı 4 ´

urovnˇe. S klesaj´ıc´ı ´urovn´ı nadpisu, kles´a i v´yznam nadpisu samotn´eho. V´yskyt

nadpis˚u by mˇel b´yt postupn´y dle d˚uleˇzitosti.

<hgroup>, seskupen´ı nadpis˚u.

r´ıklad

1 <hgroup>

2 <h1>Giraffe Escapes from Zoo</h1>

3 <h2>Animals Worldwide Rejoice</h2>

(19)

Syntaxe HTML II. (blokov´

e znaˇ

cky)

<div>, blok (generick´y kontejner bez s´emantick´eho v´yznamu).

<p>, odstavec.

<img />, vloˇzen´ı obr´azku. R˚uzn´e form´aty (JPG, PNG, GIF, . . . ). Atributy: - src- url adresa obr´azku (relativn´ı, absolutn´ı)

- alt- popisek obr´azku (m´a vliv na SEO a v pˇr´ıpadˇe nedostupnosti obr´azku, popˇr´ıpadˇe pro ˇcteˇcky www str´anek)

- height- v´yˇska obr´azku v pixelech.

- width - ˇs´ıˇrka obr´azku v pixelech.

- (border,align- nejsou v HTML 5 podporov´any!)

r´ıklad

1 <img src="smiley.gif"alt="Smiley face"height="42"width="42">

(20)

Syntaxe HTML III. (ˇ

adkov´

e znaˇ

cky)

<a>, odkaz. Atributy:

- href, url adresa destinace (relativn´ı, absolutn´ı).

- rel, specifikace vztahu odkazu k aktu´aln´ımu dokumentu (napˇr.nofollow)

- target, kde m´a b´yt odkaz otevˇren (napˇr. blank)

<em>, zd˚uraznˇen´y text.

<strong>, zv´yraznˇen´y text, s´emantick´a d˚uleˇzitost.

<span>, ohraniˇcen´ı celku (ˇr´adkov´e!), bez s´emantick´eho v´yznamu.

<br />, ˇr´adkov´y zlom.

<address>, pro vloˇzen´ı adresy.

<cite>, citace. <pre>, origin´aln´ı mezery.

<i>, <b>,<u> - kurziva, tuˇcn´y text, podtrˇzen´y text (zastaral´e v HTML 4.01), v

HTML 5 maj´ı jin´y v´yznam! (zvuk, tuˇcn´y, stylistika) <del> pˇreˇskrtnut´y obsah,

<ins> podtrˇzen´y obsah (oba nejsou ˇr´adkov´e!), <s>neaktu´aln´ı obsah.

(21)

Syntaxe HTML IV.

<code>, zdrojov´y k´od.

<button>, tlaˇc´ıtko.

r´ıklad

1 <button type="button">Click Me!</button>

<canvas>, 2D kresl´ıc´ı pl´atno novinka v HTML 5.

<embed>, kontejner pro vloˇzen´ı extern´ı aplikace (korektnˇe je definov´an aˇz v HTML 5).

Pravidlo: Potomkem ˇr´adkov´eho elementu nesm´ı b´yt element blokov´y! Vyj´ımkou je element pro odkaz.

To zda je element ˇr´adkov´y ˇci blokov´y je obvykle snadno rozpoznateln´e z jeho pouˇzit´ı.

Pozor: Ne vˇsechny znaˇcky (pˇredevˇs´ım z HTML 5) se defaultnˇe zobrazuj´ı stejnˇe ve

(22)

Syntaxe HTML V. (formul´

re)

<form>, atributy: action,method,enctype

<input>, atribut name pro jm´eno a type pro specifikaci typu (text, hidden,

submit, password,checkbox, date,file, . . . ) nov´e atributy v HTML 5:

autofocus,required, placeholder, readonly, maxlength,pattern, . . .

r´ıklad

1 <form action="demo.php">

2 Your name:<input type="text"name="fname"><br>

3 <input type="tel"name="phone"placeholder="xxx-xxx-xxxx"pattern="\d{3}-\d{3}-\d{4}"/>

4 <input type="submit"value="Submit">

5 </form>

<textarea>, <button>(lze pouˇz´ıt pro odesl´an´ı formul´aˇre)

<select>, <option>, <optgroup> <fieldset>, <label>

(23)

Formul´

re jeˇ

stˇ

e jednou

Pro formul´aˇre pˇren´aˇsej´ıc´ı soubory je potˇrebamultipart/form-data

Nov´e prvky lze pouˇz´ıt pro z´akladn´ı validaci na stranˇe klienta (validace je

ponech´ana na prohl´ıˇzeˇci).

V pˇr´ıpadˇe pˇr´ıstupu z jin´eho zaˇr´ızen´ı umoˇzˇnuj´ı pohodlnˇejˇs´ı manipulaci

(ˇc´ıseln´e pole = je zobrazena jen numerick´a kl´avesnice).

V´yraznˇe ulehˇcuj´ı tvorbu webov´ych aplikac´ı.

(24)

Syntaxe HTML VI. (tabulky)

Tabulky se pouˇz´ıvaj´ı pro zobrazen´ı tabulkov´ych dat. Nebo dat tabulkov´e povahy.

Webov´y pravˇek: vyuˇzit´ı tabulek pro layout (lze i dnes ale m´a to z´asadn´ı d˚usledky

-m´ytus, dnes jiˇz neplat´ı).

Pˇrehled syntaxe: <table> <thead> <tbody> <tfoot> <tr> <th> <td> <colgroup> <col> <caption>

(25)

r´ıklad (Tabulka)

1 <table>

2 <caption>TV Schedule</caption>

3 4 <!−−table head−−> 5 <thead> 6 <tr> 7 <th>Time</th> 8 <th>Mon</th> 9 <th>Tue</th> 10 <th>Wed</th> 11 </tr> 12 </thead>

(26)

r´ıklad (Tabulka pokraˇ

cov´

an´ı)

1 <!−−table body−−> 2 <tbody> 3 <tr> 4 <td>8 pm</td> 5 <td>Staring Contest</td>

6 <td colspan="2">Celebrity Hoedown</td>

7 </tr>

8

9 <tr>

10 <td>9 pm</td>

11 <td>Hardy, Har, Har</td>

12 <td>What’s for Lunch?</td>

13 <td rowspan="2">Movie of the Week</td>

14 </tr>

15

16 <tr>

17 <td>10 pm</td>

18 <td>Healers, Wheelers &amp; Dealers</td>

19 <td>It’s a Crime</td>

20 </tr>

21 </tbody>

(27)

Syntaxe HTML VII.

Seznamy:

<ul>, seznam s odr´aˇzkami.

<ol>, ˇc´ıslovan´y seznam. Atributy: - reversed, hodnoty v opaˇcn´em poˇrad´ı.

- start, prvn´ı hodnota seznamu.

- type, typ odr´aˇzek 1, A, a, I, i

<li>, poloˇzka seznamu. Ostatn´ı:

Pˇrehled vˇsech element˚u HTML jazyka je dostupn´y na:

http://www.w3schools.com/tags/

Pozor: Ne vˇsechny znaˇcky jsou podporov´any vˇsemi prohl´ıˇzeˇci. Stejnˇe tak ne vˇsechny

(28)

Syntaxe HTML (novinky v HTML 5) I.

Struktur´aln´ı elementy <header>, <nav>, <footer>, <article>,<section> . . .

Pozn´amka:Casto kritizov´ˇ any jako neuˇziteˇcn´e (neopr´avnˇen´e). Novinka oproti

pˇredchoz´ım HTML Restartuj´ı outline webu (nadpisy). V HTML 5 je moˇzn´e m´ıt v´ıce

<h1> element˚u. Velice problematick´e z hlediska s´emantiky - nedoporuˇcuji pouˇz´ıvat.

<header>, vymezen´ı hlaviˇcky sekce (nesouvis´ı s <head>!), v´yznam z´avis´ı na

um´ıstˇen´ı, m˚uˇze obalovat navigaˇcn´ı prvky.

r´ıklad (

<header>

jako souˇ

ast sekce)

1 <article>

2 <header>

3 <h1>Internet Explorer 9</h1>

4 <p><time pubdatedatetime="2011-03-15"></time></p>

5 </header>

6 <p>Windows Internet Explorer 9 (abbreviated as IE9) was released to 7 the public on March 14, 2011 at 21:00 PDT ...</p>

(29)

r´ıklad (

<header>

jako souˇ

ast cel´

e str´

anky)

1 <body>

2 <header>

3 <nav>

4 <ul>

5 <li><a href="#gaudi">Barcelona’s Architect</a></li>

6 <li lang="es"><a href="#sagrada-familia">La Sagrada Familia</a></li>

7 <li><a href="#park-guell">Park Guell</a></li>

8 </ul>

9 </nav>

10 </header>

11 </body>

r´ıklad (

<header>

jako banner)

1 <headerrole="banner">

2 ... [ site logo , navigation , etc .] ... 3 </header>

(30)

Syntaxe HTML (novinky v HTML 5) II.

<nav>, vymezen´ı navigaˇcn´ıch prvk˚u str´anky ˇci elementu. Ne vˇsechny navigaˇcn´ı prvky

str´anky mus´ı b´yt obaleny touto znaˇckou.

r´ıklad (

<nav>

)

1 <navrole="navigation">

2 <a href="html">HTML</a>

3 <a href="css">CSS</a>

4 <a href="js">JavaScript</a>

(31)

Syntaxe HTML (novinky v HTML 5) III.

<footer>, vymezen´ı patiˇcky elementu.

r´ıklad (

<footer>

)

1 <footer>

2 <p>Posted by: Hege Refsnes</p>

3 <p>Contact information:<a href="mailto:someone@example.com">

4 someone@example.com</a>.</p>

(32)

Syntaxe (novinky v HTML 5) IV.

<article>, vymezen´ı vˇetˇs´ıho bloku.

r´ıklad (

<article>

)

1 <article>

2 <h1>The Diversity of Papua New Guinea</h1>

3

4 <p>Papua New Guinea is home to more than 800 tribes and languages ...</p>

5 ... [ rest of story content] ...

6 <footer> <!−−thearticle’s footer, not the page’s−−>

7 <p>Leandra Allen is a freelance journalist who earned her degree in anthropology from 8 the University of Copenhagen.</p>

9 <address>

10 You may reach her at <a href="mailto:leandra@therunningwriter.com">

11 leandra@therunningwriter . com</a>. 12 </address>

13 </footer>

(33)

Syntaxe HTML (novinky v HTML 5) V.

<section>, vymezen´ı ˇc´asti (vˇetˇs´ıho) bloku article(lze pouˇz´ıt i bez article).

r´ıklad (

<section>

)

1 <section>

2 <h2>Ceremony</h2>

3 <ol>

4 <li>Opening Procession</li>

5 <li>Speech by Valedictorian</li>

6 <li>Speech by Class President</li>

7 </ol> 8 </section> 9 10 <section> 11 <h2>Graduates (alphabetical)</h2> 12 <ol>

13 <li>Molly Carpenter</li>

14 <li>Anastasia Luccio</li>

15 <li>Ebenezar McCoy</li>

16 </ol>

(34)

Syntaxe HTML (novinky v HTML 5) VI.

<aside>, obsah mimo hlavni obsah. Obl´ıben´y pro vytvoˇren´ı sidebaru.

r´ıklad (

<aside>

)

1 <p>My family and I visited The Epcot center this summer.</p>

2

3 <asiderole="complementary">

4 <h4>Epcot Center</h4>

5 <p>The Epcot Center is a theme park in Disney World, Florida .</p>

6 </aside>

<main>, definice hlavn´ıho obsahu v r´amci <body>, nerestartuje outline. Na str´ance

mus´ı b´yt pouze jeden element<main>.

r´ıklad (

<main>

)

(35)

Syntaxe HTML (novinky v HTML 5) VII.

<meter>, grafick´e zobrazeni ˇc´asti (ne vˇsechny prohl´ıˇzeˇce podporuj´ı - textov´e zobrazen´ı).

r´ıklad (

<meter>

)

1 <p>Miles walked during half−marathon:

2 <metermin="0"max="13.1"value="4.5"title="Miles">4.5</meter></p>

<progress>, progress bar.

r´ıklad (

<progress>

)

1 <p>Please wait while we save your data. Current progress : 2 <progressmax="100"value="0">0% saved</progress></p>

(36)

Syntaxe HTML (novinky v HTML 5) VIII.

<figure>, <figcaption>.

<keygen>.

<menu> (redefinov´ano v HTML 5), <menuitem>.

<output>, <time>.

Ukonˇcena podpora:

<frame>, frameset,<noframe>.

<font>, <center>.

<applet>.

´

(37)

Data atributy

Novinka (jedno z nejlepˇs´ıch vylepˇsen´ı) v HTML 5. Slouˇz´ı pro uloˇzen´ı lok´aln´ıch dat na

webov´e str´ance ˇci v aplikaci - pokroˇcilejˇs´ı funkcionalita na ´urovni HTML str´anky.

r´ıklad

1 <ul>

2 <li data−animal−type="bird">Owl</li>

3 <li data−animal−type="fish">Salmon</li>

4 <li data−animal−type="spider">Tarantula</li>

5 </ul>

6

7 <p data−obsah="ulozena data">

8 ... 9 </p>

V pˇredchoz´ıch verz´ıch HTML bylo nˇeco podobn´eho moˇzn´e jen v omezen´e m´ıˇre.

Zamyˇslen´ı: Podoba internetu se dramaticky mˇen´ı. Trendem modern´ı doby jsou

(38)

ARIA

Accessible Rich Internet Applications (WAI-ARIA) 1.0

Slouˇz´ı pro vylepˇsen´ı pˇr´ıstupnosti a pokroˇcilejˇs´ı definici s´emantiky. Atribut role.

Role:application, banner, complementary, contentinfo, form,

main, navigation, search,. . .

Souˇc´ast´ı HTML 5 standardu (definov´ano samostatn´ym standardem)

http://www.w3.org/TR/html5/dom.html#aria-role-attribute.

r´ıklad

1 <navrole="navigation">

2 <a href="html">HTML</a>

3 <a href="css">CSS</a>

4 <a href="js">JavaScript</a>

(39)

Pojmenov´

av´

an´ı element˚

u

1 Pro pojmenov´an´ıjedineˇcn´ym n´azvem pouˇzijeme atribut id

r´ıklad (

<id>

)

1 <div id="content"> 2 <article> 3 ... 4 </article> 5 </div>

2 Pro pojmenov´an´ıopakuj´ıc´ım se n´azvem pouˇzijeme atribut class

r´ıklad (

<class>

)

1 <div class="navigation active">

2 <article>

3 ...

4 </article>

(40)

r´ıklad (Komplexn´ı pˇ

r´ıklad HTML str´

anky)

1 ... 2 <body> 3 <!−−obsah kontejneru−−> 4 <div id="container"> 5 <header>...</header> 6

7 <!−−obsah prvniho sloupce−−>

8 <div id="content">

9 <article>...</article>

10 </div>

11

12 <!−−obsah druheho sloupce−−>

13 <div id="sidebar"> 14 <aside>...</aside> 15 </div> 16 17 <footer>...</footer> 18 </div> 19 </body> 20 </html>

(41)

HTML entity

Speci´aln´ı znaky.

Definice (Syntaxe html entit)

&nazev entity;

r´ıklad (HTML entity)

1 &copy; 2 &raquo; 3 &amp; 4 &nbsp;

(42)

azvy

N´azvy soubor˚u maj´ı pˇredevˇs´ım vliv na SEO a pˇr´ıstupnost str´anek jako celku.

r´ıklad (Vhodn´

y n´

azev)

buckminster-fuller.html

r´ıklad (Nevhodn´

y n´

azev)

buckminster fuller.html

Pozn´amka:dodateˇcn´e soubory vkl´adan´e do html str´anky by mˇeli m´ıt

”rozumnou“

velikost.

Pozn´amka:starˇs´ı literatura ˇcasto uv´ad´ı znak podtrˇz´ıtka jako nevhodn´y to m´a

(43)

Odkazy jeˇ

stˇ

e jednou (lok´

aln´ı odkazy)

r´ıklad

1 <body> 2 <header> 3 <h2>Table of Contents</h2> 4 <nav> 5 <ul>

6 <li><a href="#intro">Introduction</a></li>

7 <li><a href="#main-characters">Description of the Main Characters</a></li>

8 </ul> 9 </nav> 10 </header> 11 12 <article> 13 <h2 id="intro">Introduction</h2> 14 <p>Lorem ipsum...</p>

15 <h2 id="main-characters">Description of the Main Characters</h2>

16 <p>Dolor sit amet...</p>

17 </article>

(44)

Validn´ı HTML

Validn´ı = syntakticky (a ˇc´asteˇcnˇe s´emanticky) korektn´ı HTML k´od vzhledem k

aktu´aln´ımuDOCTYPE.

Nevalidn´ı HTML m˚uˇze b´yt renderov´ano neˇcekan´ym zp˚usobem.

Velk´y vliv na SEO.

Automatick´a validace: http://validator.w3.org/

(45)

avˇ

er

D˚uleˇzit´e pojmy:

Jazyk HTML a jeho z´akladn´ı principy, syntaxe a s´emantika jazyka HTML 5

Specifick´e vlastnosti jazyka HTML 5 a jejich pouˇzit´ı.

Formul´aˇre v HTML 5.

ˇ

Cten´ı na doma:

Castro E., Hyslop B., HTML 5 and CSS 3, 2012, ISBN 978-0-321-71961-4.

(chapter 1-6, 15, 16, 18) -hlavn´ı zdroj

http://en.wikipedia.org/wiki/Progressive_enhancement http://www.w3.org/TR/wai-aria/

http://www.w3schools.com/tags/ http://www.wufoo.com/html5/

(46)

Kniha: HTML 5 and CSS 3

Visual Quick Start Guide.

Informace o knize:http://www.bruceontheloose.com/htmlcss/

7. vyd´an´ı (v dobˇe vytv´aˇren´ı tohoto kurzu vyˇslo 8. vyd´an´ı).

ˇ

Cesk´y ekvivalent HTML5 a CSS3 (N´azorn´y pr˚uvodce tvorbou WWW str´anek) od

References

Related documents

Pass, pitch, toss Pass protection Handoff Linebacker Ball carrier Offensive player Keyed player Tight end Quarterback Wide receiver Offensive guard Running back Fullback

In general, a conformance claim should contain the name and version of the tested implementation, the name and version of the specification, name and version of the test suite,

Penelitian ini hanya menggunakan 5 variabel independen yaitu: profitabilitas, pertumbuhan asset, pembayaran deviden, tingkat suku bunga dan tingkat inflasi, sehingga

gimmick sold in magic trick stores known as a D’Lite. I prefer the yellow or red colored ones. This item lets you produce a light at your fingertips. I shake hands using my right

Specifically, an adaptive dynamic programming (ADP) algorithm is used to derive the optimal control law based on the nonlinear structural dynamics, and the large-scale machine

pengamen lebih di untungkan untuk mengamen di daerah ini karena tidak pernah sepi. Wawancara pertama kali kepada subyek dengan inisial nama R , tepatnya pada

SDN @ Internet exchange points Virtual network control on shared infrastructure Multitenant network automation and APIs Stretched networks, simplifying app mobility

Grossmont Union High School District, ROP Healing Hands School of Holistic Health International Professional School of Bodywork Los Angeles City College, Los Angeles Maric