LAB03 - nvbach91/4IZ268-2022-2023-ZS GitHub Wiki
Jak psát webové stránky pomocí HTML5
- Domácí úkoly - oprava
- Doporučená struktura složek na cvičeních
- Nastavení lokálního serveru pro usnadnění vývoje
- Nastavení automatické sychronizace lokální složky se složkou na serveru eso.vse.cz
- Navigace v souborovém systému vs. navigace ve stromové struktuře webu
- Relativní cesty vs. absolutní cesty
- Další HTML5 tagy - seznamy, tabulky, obrázky, formuláře, iframe, ...
- Validace stránek a oprava chyb
- Obrázky a jejich optimalizace
- HTML entity
- Atributy
id,class - Navigační odkaz v rámci stránky
- E-mailový odkaz pomocí tagu
a
- Zastaralé tagy (center, font)
- Zastaralá atributy (border, align)
- Struktura tagů v tabulce, chybí thead, tbody...
- Indentace kódu, pouze a jen při vnoření, viz stromová struktura v LAB02, dodržet konzistenci indentace
- Vnoření tagů: omezení (ul, li)
- Každá stránka smí mít jeden h1 nadpis, a pouze jeden
- Párový tag, chybí začínající / ukončovací část
- Nepoužívat inline CSS
- Názvy tagů vždy malými písmeny!
- Chybějící hodnota v tagu
title - Tag
b,i,unepoužívat, používatstrong,em, CSS - Chybějící atribut
alt -
<article><p></article></p>... - nadpis uvnitř paragrafu??
- v
sectionje nutné mít nadpis - na některé speciální znaky je potřeba použít tzv. HTML entita
- mezery mezi deklarace atributů
target="_blank"- názvy souborů malýmmi písmeny, slova oddělit pomlčkou
- chybí tag
html -
<!DOCTYPE html>, někdy úplně chybí, někdy špatná syntaxe -
hrnení párový tag -
data:image...není odkaz na obrázek - zapomeňte na tag
<style> -
trmimotable?? - číst zadání - 4 stránky, ne 1
- do
headnepatří věci, které se mají na stránce zobrazovat - zapomeňte na atribut
style - povolené/nepovolené atributy v tagu
-
brv seznamu? - psaní atributů, bez mezer
- horizontální čára = tag
hr - hodnota atributu
widthje pouze číslo, bez jednotky - hodnota atributů
idaclassvždy v angličtině - nekopírujte něco, čemu nerozumíte, a když už něco kopírujete, přečtěte si to
- to že to nějak funguje neznamená že je to dobře
\-- xname # <-- kořenová složka - tuto složku otevřít ve VSCode
\-- cv01 # první týden
|-- cv02 # druhý týden
|-- cv03 # třetí týden
|-- cv04 # čtvrtý týden
...

- Instalace pluginů ve VSCode:

-
Live Server - VSCode Plugin, automatické znovunačtení stránky po jakékoliv změně ve zdrojovém souboru - už nemusíte mačkat Refresh
- Ve VSCode si nainstalujte tento plugin
- Použití:
- pravý klik na editor a vybrat
Open with Live Server - tím se spustí lokální server a otevře se vám prohlížeč na adrese http://localhost:5500/...
- první část URL cesty představuje kořenový adresář ve VSCode
- pro zastavení serveru vyberte
Stop Live Server
- pravý klik na editor a vybrat
-
Alt + Shift + Fnebo pravý klik + vybratFormat Document - Pro formátování CSS je potřeba si nainstalovat plugin
CSS formatter v1.0.1
- Relativní cesty vs. absolutní cesty
- v obou případech jde o stromovou strukturu
- je potřeba dbát na kontext, tj. to že vám funguje lokálně neznamená, že bude fungovat i na serveru
- proto je nejbezpečnější používat relativní odkazy - tím zajistíme funkčnost webu na jakémkoliv serveru
- tvorba cest k souborům a složkám
-
.znamená aktuální adresář -
..znamená adresář nad aktuálním adresářem - např.
'./events/upcoming','../../about/','./img/pikachu.jpg'
-
- nechť máme následující strukturu složek, napište následující odkazy bez použití kořenové složky
- odkaz ze stránky
contactna stránkuevents - odkaz ze stránky
teamna stránkupast events - odkaz ze stránky
newsna stránku2020 - odkaz ze stránky
newsna stránku2020/09 - odkaz ze stránky
upcomingna stránkuabout - odkaz ze stránky
leadershipna stránkuteam - odkaz ze stránky
boardna stránkuupcoming - odkaz ze stránky
aboutna souborstyles.css - odkaz ze stránky
aboutna souborpikachu.jpg - odkaz ze stránky
past-eventsna souborstyles.css - odkaz ze stránky
past-eventsna souborbulbasaur.jpg - odkaz ze stránky
leadershipna souborstyles.css - odkaz ze stránky
leadershipna souborsquirtle.jpg - odkaz ze stránky
boardna souborstyles.css - odkaz ze stránky
boardna souborcharmander.jpg
- odkaz ze stránky
- jaká je výhoda a nevýhoda relativních cest?
- jaká je výhoda a nevýhoda absolutních cest?
- kde se aktuálně nacházím, pokud je následující cesta validní?
'./events/upcoming''../../about/''./img/pikachu.jpg''../2020/01.jpg''/about/team/leadership/'
cv03
│ index.html
├───about
│ │ index.html
│ └───team
│ │ index.html
│ └───leadership
│ │ index.html
│ └───board
│ index.html
├───assets
│ ├───css
│ │ styles.css
│ ├───img
│ │ pikachu.jpg
│ │ squirtle.jpg
│ │ charmander.jpg
│ │ bulbasaur.jpg
│ └───js
│ scripts.js
├───contact
│ index.html
├───events
│ │ index.html
│ ├───past
│ │ index.html
│ └───upcoming
│ index.html
├───news
│ │ index.html
│ └───2020
│ │ index.html
│ ├───01
│ │ index.html
│ ├───02
│ │ index.html
│ ├───03
│ │ index.html
│ ├───04
│ │ index.html
│ ├───05
│ │ index.html
│ ├───06
│ │ index.html
│ ├───07
│ │ index.html
│ ├───08
│ │ index.html
│ └───09
│ index.html
└───team
index.html

- HTML validator - https://validator.w3.org/
- zmenšování rozměru - např. je nesmyslné používat obrázek 4000x5000 px na obrazovce 1366x786 px
- pokud má obrázek velké rozměry, v image editoru (Malování) ho zmenšete na max. 1920px x 1080px a poté ho optimalizujte v kompresoru (bezeztrátová komprese):
- pro psaní speciálních znaků v dokumentu
no-break-space mezera
> greater than >
< less than <
" quote "
' apostrof '
& ampersand &
¢ cent ¢
£ libra £
¥ japonský Yen ¥
© copyright ©
® registered ®
...
- konvence
- používat smysluplné anglické pojmy, tj. ne
id="x-1",id="x-2" - oddělit slova pomocí pomlčky, např.
id="remote-control",class="sale-item", pro atributnamepoužít camelCase, např.name="justAnotherAttribute"
- používat smysluplné anglické pojmy, tj. ne
- hodnota atributu
idje unikátní v rámci dokumentu - nesmí se opakovat na více místech - hodnota atributu
classlze opakovat - určuje název pro referenci v CSS
<article id="article-01">
<h2 class="article-heading">Lorem ipsum...</p>
<p class="article-paragraph">Lorem ipsum...</p>
<p class="article-paragraph">emmet lori...</p>
<p class="article-paragraph">dolor sit amet...</p>
</article><h2 id="chapter-01">Kapitola 1</h2>
...
<a href="#chapter-01">Go to Chapter 1</a><!-- otevře defaultní mailbox ve Vašem OS a založí nový e-mail určený uvedenému přijemcovi -->
<a href="mailto:[email protected]">Email me!</a>
<!-- přihodíme ještě předmět e-mailu -->
<a href="mailto:[email protected]?subject=Hello%20Jim">Email me!</a>
<!-- přihodíme i tělo zprávy -->
<a href="mailto:[email protected]?subject=Hello%20Jim&body=Greetings">Email me!</a>- Úkoly z předchozího cvičení opravte podle zjištěných chyb (seznam chyb nahoře) a nechte zvalidovat pomocí VSCode Pluginu a validátoru
- Návod zde
- validátor https://validator.w3.org
- Úkoly nahrajte na server eso tak, aby byly dostupné pod odkazy:
- Všechny stránky nechte zvalidovat a vytvořte odkazy na tyto validace

-
Vytvořte 3 stránky, které prezentují obsah knihy, která má 3 kapitoly.
- Textový obsah stránky musí dávat smysl (nepoužívejte lorem ipsum)
- Na každé stránce (kapitole) umístěte navigační odkazy do kapitol 1, 2 a 3
- Používejte vhodný nadpis pro názvy kapitol a podkapitol
- Obsah - table of content (ToC) této kapitoly s klikatelnými odkazy na jednotlivé podkapitoly v rámci stránky
- Odkaz zpět na obsah (ToC) u každého nadpisu podkapitol a na konci každé podkapitoly
- Každá stránka musí obsahovat minimálně 3 úrovně nadpisů, tj. např. 1, 1.1, 1.1.1
- Každá stránka musí obsahovat minimálně 1 tabulku s min. 5 sl. a 10 ř., tabulky musí mít popisek
- Každá stránka musí obsahovat minimálně 1 obrázek s popiskem
- Každá stránka musí obsahovat minimálně 1 seznam (kromě ToC)
- Každá stránka musí obsahovat nějaké HTML entity pro zobrazení speciálních znaků
- Kapitoly ukončete horizontální čárou
- V kódu používejte vhodné sémantické značky
- Stránky nesmí obsahovat žádný CSS
- Nesnažte se měnit vzhled stránky ani vzhled textu (kromě pomocí k tomu určených tagů jako
strong,em) - Průběžně si kontrolujte validitu kódu a formátujte
- Stránky zveřejnit na serveru eso pod odkazy
-
Odkazy napište do vlákna https://github.com/nvbach91/4IZ268-2022-2023-ZS/issues/
-
Termín odevzdání Příští Čt 23:59:59