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



Similar documents
Differences between HTML and HTML 5

Jazyk C# (seminář 8)

MICROSOFT WORD Mgr. Krejčí Jan (ZSJP) MICROSOFT WORD září / 21

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

CLASSROOM WEB DESIGNING COURSE

Web Authoring CSS. Module Descriptor

BIRD Internet Routing Daemon

Introduction to Web Technologies

SAULT COLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO COURSE OUTLINE

Web Design and Development ACS Chapter 13. Using Forms 11/30/2015 1

.NET Best Practices Part 1 Master Pages Setup. Version 2.0

Web Development I & II*

Fast track to HTML & CSS 101 (Web Design)

Unlocking the Java EE Platform with HTML 5

Essential HTML & CSS for WordPress. Mark Raymond Luminys, Inc mraymond@luminys.com

We automatically generate the HTML for this as seen below. Provide the above components for the teaser.txt file.

WEB DEVELOPMENT IA & IB (893 & 894)

aneb Perfekt perfektně.

Introduction to Web Development

WEB DESIGN COURSE CONTENT

HTML5 & CSS3. ( What about SharePoint? ) presented

HTML5 and CSS3. new semantic elements advanced form support CSS3 features other HTML5 features

Course: CSC 224 Internet Technology I (2 credits Compulsory)

Introduction to web development using XHTML and CSS. Lars Larsson. Today. Course introduction and information XHTML. CSS crash course.

How To Create A Web Page On A Windows (For Free) With A Notepad) On A Macintosh (For A Freebie) Or Macintosh Web Browser (For Cheap) On Your Computer Or Macbook (

Module 6 Web Page Concept and Design: Getting a Web Page Up and Running

Web Authoring. Module Descriptor

HTML5 & CSS3. Jens Jäger Freiberuflicher Softwareentwickler JavaEE, Ruby on Rails, Webstuff Blog: Mail: mail@jensjaeger.

any other form. the information on these sites is volatile and subject to constant changes. other records are created through these sites.

Lesson Review Answers

HTML Forms and CONTROLS

Style & Layout in the web: CSS and Bootstrap

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY

Introduction to web development and JavaScript

<a href="document URL"... attributes-list>link Text</a>

Textbook s Website for Online Review of Each Chapter

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

Web Design Specialist

Outline. CIW Web Design Specialist. Course Content

Upozorňujeme,že můžete formáty pro čtečky převádět ON-LINE na internetu do formátu PDF apod.

HTML 4.01 Specification

HTML5 & Friends. And How They Change A Developer s Life

What is HTML? a)hyper Text Marking Language b) Hyper Text Machine Language c)hyper Text Middle Language d)hyper Text Markup Language

Foundations. Web Development and Design. with HTML5. [Terry Ann Felke-Morris, Ed.D.J. 6th Edition. Harper College. Piyali Sengupta.

Contents. Downloading the Data Files Centering Page Elements... 6

Blueball First Class Sandvox Designs v2.0 Works with Sandvox 2+ only!

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

Web Development CSE2WD Final Examination June (a) Which organisation is primarily responsible for HTML, CSS and DOM standards?

IAS Web Development using Dreamweaver CS4

HTML CSS Basic Structure. HTML Structure [Source Code] CSS Structure [Cascading Styles] DIV or ID Tags and Classes. The BOX MODEL

Enduring Understandings: Web Page Design is a skill that grows and develops throughout the careful planning and study of software and design.

10CS73:Web Programming

Web Designing with UI Designing

HTML 4.0 Specification

Web Design Basics. Cindy Royal, Ph.D. Associate Professor Texas State University

A MODEL FOR THE AUTOMATION OF HTML FORM CREATION AND VALIDATION. Keywords: html, form, web, automation, validation, class, model.

Advanced Web Design COURSE OUTLINE

Dreamweaver CS5. Module 1: Website Development

Coding Standards for Web Development

Lesson Overview. Getting Started. The Internet WWW

YOUTUBE 4.0. Postup upgrade Youtube z Youtube 3.1 na Youtube 4.0 pro produkty EAGET X5R, M6, M7 a M9:

Garfield Public Schools Fine & Practical Arts Curriculum Web Design

Chapter 1 Introduction to web development and PHP

FOUNDATION OF INFORMATION TECHNOLOGY Class-X (TERM II)

Luk aˇ s R uˇ ziˇ cka Pomocn a slovesa

HTML and CSS 2 Class Meetings Instructor Contact Office Hours: Tuesdays 5:30-7:30 PM Online Class Message List Opt Out of Class

Introduction to XHTML. 2010, Robert K. Moniot 1

How To Use Dreamweaver With Your Computer Or Your Computer (Or Your Computer) Or Your Phone Or Tablet (Or A Computer)

CIS 467/602-01: Data Visualization

Missing cat website HTML&CSS. The Mission:

HAML und SASS. (und COMPASS) markup haiku vs. syntactically awesome stylesheets. Tobias Adam, Jan Krutisch mindmatters GmbH & Co.

Agenda. 1. ZAPms Konzept. 2. Benutzer-Kontroller. 3. Laout-Aufbau. 4. Template-Aufbau. 6. Konfiguration. 7. Module.

aneb Perfektní minulost.

Welcome to CSE 330 Crea0ve Progamming and Rapid Prototyping. Course Informa0on

Programming exercises (Assignments)

core HyperText Markup Language (HTML) Designing Documents for the World Wide Web

Advanced Web Design. Zac Van Note.

Introduction to Dreamweaver

GUIDE TO CODE KILLER RESPONSIVE S

Automatizovaná formální verifikace

USER S MANUAL JOOMLA! GOVERNMENT WEB TEMPLATE

Getting Started with KompoZer

Chapter 1. Introduction to web development

Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation

Dreamweaver CS5. Module 2: Website Modification

This document will describe how you can create your own, fully responsive. drag and drop template to use in the creator.

Přednášející... Kamil Juřík. Lead Consultant & Platform Architect

Web Design and Development ACS-1809

Please select one of the topics below.

User Guide for Smart Former Gold (v. 1.0) by IToris Inc. team

Transcription:

Informační systémy Tvorba webových stránek a HTML 5 Martin Trnečka Katedra informatiky Univerzita Palackého v Olomouci Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 1 / 46

Webové stránky Internet - fenomén, který není třeba představovat. Webová stránka (www stránka, internetová stránka, html stránka). Produkt celé řady technologíı: HTML, CSS, JavaScript, PHP, MySQL, ASP, Ruby on Rails,.... Není možné uspokojivě prezentovat všechny technologie. Zaměříme se na volně dostupné řešení (ne příliš vhodné pro enormní IS). Velice populární u menších a středních IS (ale i velké IS). Výběr technologíı: strategické rozhodnutí podléhající celé řadě aspektů. Více se vrátíme k problematice výběru technologie v pozdější části kurzu. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 2 / 46

Opakování z KMI/POS Hypertext Transfer Protocol (HTTP) zajišt uje komunikaci mezi serverem a klientem na principu requestů (HTTP 1.1, nově HTTP/2). Základní protokol (aplikační vrstva TCP/IP) na kterém je vystavěn Internet. Dvě základní metody: GET a POST. GET: Požadavek pomocí URL requestu Zůstává v historii prohĺıžeče Omezení délky (2048 znaků) Nevhodný pro přenos citlivých dat POST: Nezůstává v historii prohĺıžeče Žádné omezení délky. Nelze cachovat. Zabezpečená (šifrovaná) verze HTTPS protokol. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 3 / 46

HyperText Markup Language (HTML) Značkovací jazyk! Kĺıčový prvek každé webové stránky (*.html). Slouží pro definici významu (sémantiky) obsahu webové stránky. Počátky z roku 1990, nejnovější HTML 5. Standard jazyka, konsorcium W3C, http://www.w3.org/ Interpretovatelný všemi běžnými webovými prohĺıžeči (Chrome, Firefox, Internet Explorer (IE), Opera, Safari,... ) - jsou zde jisté problémy (více později). 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. http://www.w3.org/tr/html-design-principles/ Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 4 / 46

Historie vývoje HTML I. 1980 - Systém ENQUIRE pro CERN (Tim Berners-Lee). 1989-1990 - představena první verze HTML + browser (vznik www). 1991 - první dokumentace. 1993 - první požadavky na standardizaci. 1994 - založena první pracovní skupina. 1995 - HTML 2.0 1996 - HTML přechází pod World Wide Web Consortium (W3C). 1997 - HTML 3.2, brzy na to HTML 4.0 (uvedeno několik standardů a DHTML) 1999 - HTML 4.01, v roce 2000 separátní větev vývoje XHTML. 2004 - začátek vývoje HTML 5 2008 - pracovní draft HTML 5 Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 5 / 46

Historie vývoje HTML II. 2011 - rozšíření skupiny W3C, last call pro HTML 5 2012 - první pracovní draft HTML 5.1 verze. 2013 - HTML 5 (stále není hotové) je podporováno všemi moder. prohĺıžeči. 2014-28. říjen 2014, bod zlomu, HTML 5 získává status W3C recommendation, stává se oficiálním standardem. 2015 - Mezidobí, zbývá implementovat zbytek HTML 5 standardu. Práce na draftu HTML 5.1 (očekávané dokončení je oznámeno na konec roku 2016) http://www.w3.org/html/wg/drafts/html/master/. Očekávaný draft HTML 5.2 verze. Poznámka: Historie stojící za vývojem (r)evolučního HTML 5 je mnohem rozsáhlejší a složitější. Není možné ji uspokojivě shrnout pomocí pár odrážek. Složité a pomalé procesy standartizace W3C, vznik HTML living standardu predikují, že budoucnost HTML není vůbec jasná. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 6 / 46

Tvorba www stránek obecně Mnoho rozličných přístupů a pohledů na www stránky a jejich tvorbu. Náš pohled: web je informační systém. Důsledek: musí plnit svůj účel. Progressive enhancement Obecný princip při tvorbě webu. Začínáme s HTML a postupně nabalujeme další technologie. Obĺıbený přístup, ale má i své stinné stránky. Základní stavební bloky: Textový obsah - informace, data, prezentace. Odkazy na jiné soubory - obrázky, videa, hudba, jiné HTML soubory. Značky - popisující a strukturující www stránku. Vše v čistě textové podobě interpretované web. prohĺıžečem (obecně interpretem). Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 7 / 46

Tvorba www stránek podrobněji Je nutné si uvědomit: Tvorba www stránek = softwarový projekt (mnohdy velice rozsáhlý). Znalosti z oblasti softwarového inženýrství (principy vývoje software, analýza, wire frame, GUI a další). Budeme se zabývat tvorbou základních www stránek (ne však nutně jednoduchých) a tuto znalost postupně rozšiřovat. V praxi velice populární: využít již existující technologii Java,.NET, popřípadě nějaký framework (Nette, Symphony, Ruby on Rails) a na ní vystavět web. Má své výhody, šetří čas, ale odstiňuje uživatele od základů. Programátor se pak stává uživatelem - problém poslední doby. Používání frameworků je naprosto přirozený vývoj na rozdíl od mnohých programátorů si touto evolucí projdeme. V žádné případě nebudeme používat WYSIWYG editory! Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 8 / 46

Příklad (HTML 5 kód) 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> 21 </html> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 9 / 46

Význam HTML značek Značky (někdy též HTML entity, či pouze entity popřípadě tagy) přiřazují význam obsahu (udávají sémantiku). Sémantika má vliv na celou řadu kĺıčových atributů: přístupnost, SEO, jednoduchost. Je sémantika nutná? Ano! Anonymita dat. Značky HTML neříkají nic o podobě (vzhledu) obsahu. Ne vždy tomu tak bylo, HTML 5 přichází v tomto ohledu se zcela striktní politikou. Přesto je obsah zobrazen v určité podobě (podrobněji se k tomu vrátíme na dalších přednáškách). Základní dělení značek (semantika): 1 Blokové - jejich použití způsobí vytvoření bloku. Např. <div>, <p>,... 2 Řádkové (inline) - nepřekročí rozsah řádku. Např. <a>, <em>, <span>,... Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 10 / 46

Základní syntaxe HTML I. Základní dělení značek (syntaxe): 1 Párové - <div>obsah</div> 2 Nepárové - <img src="obrazek.jpg" /> Pro jednoduchost budeme párové značky psát pomocí jejich uvozovacího tagu. Definice (Syntaxe párového tagu) <uvozovaci tag [atribut 1 = hodnota 1... atribut n = hodnota n ] > obsah tagu < /ukoncovaci tag> Příklad (Odkaz, párový tag) 1 <a href="http://en.wikipedia.org" rel="external" title="learn more about Blue Flax"> 2 Blue Flax 3 </a> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 11 / 46

Základní syntaxe HTML II. Definice (Syntaxe nepárového tagu) <uvozovaci tag [atribut 1 = hodnota 1... atribut n = hodnota n ] / > V HTML 5 již není znak / na konci nepárového znaku povinný (ani zakázaný). Příklad (Obrázek, nepárový tag) 1 <img src="blueflax.jpg" width="300" height="175" alt="blue Flax (Linum lewisii)" /> Z hlediska syntaxe nejsou atributy povinné, ale bez nich nemají některé značky význam. Rovněž některé atributy jsou doporučené. Definice (Prázdný element) <uvozovaci tag [atribut 1 = hodnota 1... atribut n = hodnota n ] > < /ukoncovaci tag> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 12 / 46

Základní syntaxe HTML III. (atributy) V HTML 5 zapisovat atributy elementu několika způsoby Příklad (Zápis atributů) 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ápis atributů se řídí jednoduchými pravidly: http://www.w3.org/tr/html5/syntax.html#attributes-0 Globální atributy, společné všem HTML elementům: http://w3c.github.io/html-reference/global-attributes.html. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 13 / 46

Vztah potomek rodič Pří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ř. <h1> je potomek <article>. <p> je rodičem prvků <em> a <a>. Elementy tedy existují v určité hierarchické struktuře. Příklad (Korektní vs. nekorektní použití značek) 1 <p>... continually <em>amazed</em>...</p> 2 <p>... continually <em>amazed...</p></em> Značky musí být uzavírány v pořadí LIFO. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 14 / 46

Syntaxe HTML (základní struktura dokumentu) I. <!DOCTYPE html>, speciální značka pro webové prohĺıžeče, udává v jakém formátu (standardu) je dokument zapsán. Pokud nebude standard dodržen stává se dokument nevalidní (syntakticky nesprávný)! Příklad (HTML 5 DOCTYPE) 1 <!DOCTYPE html> Příklad (Zastaralé, ale stále funkční DOCTYPE) 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN"> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/tr/rec-html40/strict.dtd"> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> 5 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 6 "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> 7 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 8 "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd"> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 15 / 46

Syntaxe HTML (základní struktura dokumentu) II. <html>, uvození začátku html stránky. <head>, vymezuje hlavičku html dokumentu. <body>, vymezení obsahu (těla) html stránky. Příklad 1 <html lang= cs > 2 <head> 3 <! hlavicka stranky > 4 </head> 5 <body> 6 <! obsah stranky > 7 </body> 8 <html> Otázka k zamyšlení: Jsou tyto tagy povinné? Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 16 / 46

Sekce <head> Slouží pro nastavení a specifikaci vlastností html stránky. Obvykle obsahuje informace o vkládaných souborech (CSS, Java Script) a meta tagy. <title>, nejdůležitější prvek této sekce, určuje název stránky, má velký význam především pro SEO. Pouze text bez dalších html značek. Definice (Syntaxe meta tagu) <meta name= val 1 http-equiv= val 1 content= val 2 / > Příklad (Běžné 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 <meta http equiv="refresh" content="30"> 6 <meta http equiv="content-type" content="text/html; charset=utf-8"><! zastarale > Stručný přehled meta tagů: http://www.w3schools.com/tags/tag_meta.asp Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 17 / 46

Syntaxe HTML I. (Nadpisy) <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, nadpisy různé úrovně. Příklad 1 <h1>velky nadpis</h1> 2 <h6>nejmensi nadpis</h6> Praktický tip: Ačkoliv existuje 6 úrovní v praxi se běžně používají pouze první 4 úrovně. S klesající úrovní nadpisu, klesá i význam nadpisu samotného. Výskyt nadpisů by měl být postupný dle důležitosti. <hgroup>, seskupení nadpisů. Příklad 1 <hgroup> 2 <h1>giraffe Escapes from Zoo</h1> 3 <h2>animals Worldwide Rejoice</h2> 4 </hgroup> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 18 / 46

Syntaxe HTML II. (blokové značky) <div>, blok (generický kontejner bez sémantického významu). <p>, odstavec. <img />, vložení obrázku. Různé formáty (JPG, PNG, GIF,... ). Atributy: - src - url adresa obrázku (relativní, absolutní) - alt - popisek obrázku (má vliv na SEO a v případě nedostupnosti obrázku, popřípadě pro čtečky www stránek) - height - výška obrázku v pixelech. - width - šířka obrázku v pixelech. - (border, align - nejsou v HTML 5 podporovány!) Příklad 1 <img src="smiley.gif" alt="smiley face" height="42" width="42"> <hr />, způsobí vložení vodorovné čáry. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 19 / 46

Syntaxe HTML III. (řádkové značky) <a>, odkaz. Atributy: - href, url adresa destinace (relativní, absolutní). - rel, specifikace vztahu odkazu k aktuálnímu dokumentu (např. nofollow) - target, kde má být odkaz otevřen (např. blank) <em>, zdůrazněný text. <strong>, zvýrazněný text, sémantická důležitost. <span>, ohraničení celku (řádkové!), bez sémantického významu. <br />, řádkový zlom. <address>, pro vložení adresy. <cite>, citace. <pre>, originální mezery. <i>, <b>, <u> - kurziva, tučný text, podtržený text (zastaralé v HTML 4.01), v HTML 5 mají jiný význam! (zvuk, tučný, stylistika) <del> přeškrtnutý obsah, <ins> podtržený obsah (oba nejsou řádkové!), <s> neaktuální obsah. <abbr> zkratky, <bdo> směr textu, <blockquote>, <samp>, <dfn>, <var>... Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 20 / 46

Syntaxe HTML IV. <code>, zdrojový kód. <button>, tlačítko. Příklad 1 <button type="button">click Me!</button> <canvas>, 2D kresĺıcí plátno novinka v HTML 5. <embed>, kontejner pro vložení externí aplikace (korektně je definován až v HTML 5). Pravidlo: Potomkem řádkového elementu nesmí být element blokový! Vyjímkou je element pro odkaz. To zda je element řádkový či blokový je obvykle snadno rozpoznatelné z jeho použití. Pozor: Ne všechny značky (především z HTML 5) se defaultně zobrazují stejně ve všech prohĺıžečích (je zapotřebí CSS)! Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 21 / 46

Syntaxe HTML V. (formuláře) <form>, atributy: action, method, enctype <input>, atribut name pro jméno a type pro specifikaci typu (text, hidden, submit, password, checkbox, date, file,... ) nové atributy v HTML 5: autofocus, required, placeholder, readonly, maxlength, pattern,... Pří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žít pro odeslání formuláře) <select>, <option>, <optgroup> <fieldset>, <label> Stav formulářů v HTML 5: http://www.wufoo.com/html5/ Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 22 / 46

Formuláře ještě jednou Pro formuláře přenášející soubory je potřeba multipart/form-data Nové prvky lze použít pro základní validaci na straně klienta (validace je ponechána na prohĺıžeči). V případě přístupu z jiného zařízení umožňují pohodlnější manipulaci (číselné pole = je zobrazena jen numerická klávesnice). Výrazně ulehčují tvorbu webových aplikací. http://diveintohtml5.info/forms.html Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 23 / 46

Syntaxe HTML VI. (tabulky) Tabulky se používají pro zobrazení tabulkových dat. Nebo dat tabulkové povahy. Webový pravěk: využití tabulek pro layout (lze i dnes ale má to zásadní důsledky - mýtus, dnes již neplatí). Přehled syntaxe: <table> <thead> <tbody> <tfoot> <tr> <th> <td> <colgroup> <col> <caption> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 24 / 46

Pří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> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 25 / 46

Příklad (Tabulka pokračování) 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 & Dealers</td> 19 <td>it s a Crime</td> 20 </tr> 21 </tbody> 22 </table> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 26 / 46

Syntaxe HTML VII. Seznamy: <ul>, seznam s odrážkami. <ol>, číslovaný seznam. Atributy: - reversed, hodnoty v opačném pořadí. - start, první hodnota seznamu. - type, typ odrážek 1, A, a, I, i <li>, položka seznamu. Ostatní: Přehled všech elementů HTML jazyka je dostupný na: http://www.w3schools.com/tags/ Pozor: Ne všechny značky jsou podporovány všemi prohĺıžeči. Stejně tak ne všechny značky mají stejný význam v různých verzích HTML! Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 27 / 46

Syntaxe HTML (novinky v HTML 5) I. Strukturální elementy <header>, <nav>, <footer>, <article>, <section>... Poznámka: Často kritizovány jako neužitečné (neoprávněné). Novinka oproti předchozím HTML Restartují outline webu (nadpisy). V HTML 5 je možné mít více <h1> elementů. Velice problematické z hlediska sémantiky - nedoporučuji používat. <header>, vymezení hlavičky sekce (nesouvisí s <head>!), význam závisí na umístění, může obalovat navigační prvky. Příklad (<header> jako součást sekce) 1 <article> 2 <header> 3 <h1>internet Explorer 9</h1> 4 <p><time pubdate datetime="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> 8 </article> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 28 / 46

Příklad (<header> jako součást celé stránky) 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> Příklad (<header> jako banner) 1 <header role="banner"> 2... [ site logo, navigation, etc.]... 3 </header> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 29 / 46

Syntaxe HTML (novinky v HTML 5) II. <nav>, vymezení navigačních prvků stránky či elementu. Ne všechny navigační prvky stránky musí být obaleny touto značkou. Příklad ( <nav> ) 1 <nav role="navigation"> 2 <a href="html">html</a> 3 <a href="css">css</a> 4 <a href="js">javascript</a> 5 </nav> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 30 / 46

Syntaxe HTML (novinky v HTML 5) III. <footer>, vymezení patičky elementu. Pří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> 5 </footer> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 31 / 46

Syntaxe (novinky v HTML 5) IV. <article>, vymezení většího bloku. Pří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> <! the article 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> 14 </article> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 32 / 46

Syntaxe HTML (novinky v HTML 5) V. <section>, vymezení části (většího) bloku article (lze použít i bez article). Pří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> 17 </section> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 33 / 46

Syntaxe HTML (novinky v HTML 5) VI. <aside>, obsah mimo hlavni obsah. Obĺıbený pro vytvoření sidebaru. Příklad ( <aside> ) 1 <p>my family and I visited The Epcot center this summer.</p> 2 3 <aside role="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ámci <body>, nerestartuje outline. Na stránce musí být pouze jeden element <main>. Příklad ( <main> ) 1 <main role="main">...</main> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 34 / 46

Syntaxe HTML (novinky v HTML 5) VII. <meter>, grafické zobrazeni části (ne všechny prohĺıžeče podporují - textové zobrazení). Příklad ( <meter> ) 1 <p>miles walked during half marathon: 2 <meter min="0" max="13.1" value="4.5" title="miles">4.5</meter></p> <progress>, progress bar. Příklad ( <progress> ) 1 <p>please wait while we save your data. Current progress : 2 <progress max="100" value="0">0% saved</progress></p> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 35 / 46

Syntaxe HTML (novinky v HTML 5) VIII. <figure>, <figcaption>. <keygen>. <menu> (redefinováno v HTML 5), <menuitem>. <output>, <time>. Ukončena podpora: <frame>, frameset, <noframe>. <font>, <center>. <applet>. Úplný přehled všech HTML tagů: http://www.w3schools.com/tags/. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 36 / 46

Data atributy Novinka (jedno z nejlepších vylepšení) v HTML 5. Slouží pro uložení lokálních dat na webové stránce či v aplikaci - pokročilejší funkcionalita na úrovni HTML stránky. Pří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ředchozích verzích HTML bylo něco podobného možné jen v omezené míře. Zamyšlení: Podoba internetu se dramaticky mění. Trendem moderní doby jsou webové aplikace. HTML 5 se snaží (v omezené míře) na tuto změnu reagovat. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 37 / 46

ARIA Accessible Rich Internet Applications (WAI-ARIA) 1.0 Slouží pro vylepšení přístupnosti a pokročilejší definici sémantiky. Atribut role. Role: application, banner, complementary, contentinfo, form, main, navigation, search,... Součástí HTML 5 standardu (definováno samostatným standardem) http://www.w3.org/tr/html5/dom.html#aria-role-attribute. Příklad 1 <nav role="navigation"> 2 <a href="html">html</a> 3 <a href="css">css</a> 4 <a href="js">javascript</a> 5 </nav> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 38 / 46

Pojmenovávání elementů 1 Pro pojmenování jedinečným názvem použijeme atribut id Příklad ( <id> ) 1 <div id="content"> 2 <article> 3... 4 </article> 5 </div> 2 Pro pojmenování opakujícím se názvem použijeme atribut class Příklad ( <class> ) 1 <div class="navigation active"> 2 <article> 3... 4 </article> 5 </div> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 39 / 46

Příklad (Komplexní příklad HTML stránky) 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> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 40 / 46

HTML entity Speciální znaky. Definice (Syntaxe html entit) &nazev entity; Příklad (HTML entity) 1 2» 3 & 4 Přehled na: http://www.elizabethcastro.com/html/extras/entities.html Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 41 / 46

Názvy Názvy souborů mají především vliv na SEO a přístupnost stránek jako celku. Příklad (Vhodný název) buckminster-fuller.html Příklad (Nevhodný název) buckminster fuller.html Poznámka: dodatečné soubory vkládané do html stránky by měli mít rozumnou velikost. Poznámka: starší literatura často uvádí znak podtržítka jako nevhodný to má především historické důvody, dnes je založeno na poznatcích z kognitivní psychologie. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 42 / 46

Odkazy ještě jednou (lokální odkazy) Pří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> 18 </body> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 43 / 46

Validní HTML Validní = syntakticky (a částečně sémanticky) korektní HTML kód vzhledem k aktuálnímu DOCTYPE. Nevalidní HTML může být renderováno nečekaným způsobem. Velký vliv na SEO. Automatická validace: http://validator.w3.org/ Vždy budeme používat validní HTML! Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 44 / 46

Závěr Důležité pojmy: Jazyk HTML a jeho základní principy, syntaxe a sémantika jazyka HTML 5 Specifické vlastnosti jazyka HTML 5 a jejich použití. Formuláře v HTML 5. Čtení 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/ http://diveintohtml5.info/forms.html Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 45 / 46

Kniha: HTML 5 and CSS 3 Visual Quick Start Guide. Informace o knize: http://www.bruceontheloose.com/htmlcss/ 7. vydání (v době vytváření tohoto kurzu vyšlo 8. vydání). Český ekvivalent HTML5 a CSS3 (Názorný průvodce tvorbou WWW stránek) od Computer press (překlad 4. vydání). Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 46 / 46