# Projekt Terarij, 1. dio: Uvod u HTML

> Sketchnote autor [Tomomi Imura](https://twitter.com/girlie_mac)
## Kviz prije predavanja
[Kviz prije predavanja](https://ff-quizzes.netlify.app/web/quiz/15)
> Pogledajte video
>
> [](https://www.youtube.com/watch?v=1TvxJKBzhyQ)
### Uvod
HTML, ili HyperText Markup Language, je 'kostur' weba. Ako CSS 'odijeva' vaš HTML, a JavaScript ga oživljava, HTML je tijelo vaše web aplikacije. Čak i sintaksa HTML-a odražava tu ideju, jer uključuje oznake "head", "body" i "footer".
U ovoj lekciji koristit ćemo HTML za izradu 'kostura' sučelja našeg virtualnog terarija. Imat će naslov i tri stupca: desni i lijevi stupac gdje će se nalaziti biljke koje se mogu povlačiti, te središnji dio koji će predstavljati stakleni terarij. Na kraju ove lekcije moći ćete vidjeti biljke u stupcima, ali sučelje će izgledati pomalo čudno; ne brinite, u sljedećem dijelu dodati ćete CSS stilove kako bi sučelje izgledalo bolje.
### Zadatak
Na svom računalu stvorite mapu pod nazivom 'terrarium' i unutar nje datoteku pod nazivom 'index.html'. To možete učiniti u Visual Studio Code nakon što stvorite mapu terarija tako da otvorite novi prozor VS Code-a, kliknete 'open folder' i odete do svoje nove mape. Kliknite mali gumb 'file' u Explorer panelu i stvorite novu datoteku:

Ili
Koristite ove naredbe u svom git bashu:
* `mkdir terrarium`
* `cd terrarium`
* `touch index.html`
* `code index.html` ili `nano index.html`
> Datoteke index.html označavaju pregledniku da je to zadana datoteka u mapi; URL-ovi poput `https://anysite.com/test` mogu biti izgrađeni pomoću strukture mapa koja uključuje mapu pod nazivom `test` s `index.html` unutar nje; `index.html` ne mora biti prikazan u URL-u.
---
## DocType i html oznake
Prvi redak HTML datoteke je njezin doctype. Pomalo je iznenađujuće da ovaj redak mora biti na samom vrhu datoteke, ali on govori starijim preglednicima da stranica treba biti prikazana u standardnom načinu rada, slijedeći trenutnu HTML specifikaciju.
> Savjet: u VS Code-u možete zadržati pokazivač iznad oznake i dobiti informacije o njezinoj upotrebi iz MDN Reference vodiča.
Drugi redak trebao bi biti početna oznaka ``, odmah praćena završnom oznakom ``. Ove oznake su korijenski elementi vašeg sučelja.
### Zadatak
Dodajte ove retke na vrh svoje datoteke `index.html`:
```HTML
```
✅ Postoji nekoliko različitih načina rada koji se mogu odrediti postavljanjem DocType-a s upitnim nizom: [Quirks Mode i Standards Mode](https://developer.mozilla.org/docs/Web/HTML/Quirks_Mode_and_Standards_Mode). Ovi načini rada nekada su podržavali vrlo stare preglednike koji se danas rijetko koriste (Netscape Navigator 4 i Internet Explorer 5). Možete se držati standardne deklaracije doctype-a.
---
## Dokumentov 'head'
Područje 'head' HTML dokumenta uključuje ključne informacije o vašoj web stranici, poznate kao [metapodaci](https://developer.mozilla.org/docs/Web/HTML/Element/meta). U našem slučaju, web poslužitelju kojem će ova stranica biti poslana za prikazivanje, šaljemo ove četiri stvari:
- naslov stranice
- metapodaci stranice uključujući:
- 'character set', koji govori o tome koja se kodna stranica koristi na stranici
- informacije o pregledniku, uključujući `x-ua-compatible` koji označava da je podržan preglednik IE=edge
- informacije o tome kako bi se viewport trebao ponašati kada se učita. Postavljanje viewporta na početnu skalu od 1 kontrolira razinu zumiranja kada se stranica prvi put učita.
### Zadatak
Dodajte blok 'head' svom dokumentu između početne i završne oznake ``.
```html
Welcome to my Virtual Terrarium
```
✅ Što bi se dogodilo da postavite meta oznaku viewporta ovako: ``? Pročitajte više o [viewportu](https://developer.mozilla.org/docs/Web/HTML/Viewport_meta_tag).
---
## Dokumentov `body`
### HTML oznake
U HTML-u dodajete oznake svojoj .html datoteci kako biste stvorili elemente web stranice. Svaka oznaka obično ima početnu i završnu oznaku, poput ove: `
hello
` za označavanje paragrafa. Stvorite tijelo svog sučelja dodavanjem skupa `` oznaka unutar para `` oznaka; vaš markup sada izgleda ovako:
### Zadatak
```html
Welcome to my Virtual Terrarium
```
Sada možete početi graditi svoju stranicu. Obično koristite `
` oznake za stvaranje zasebnih elemenata na stranici. Stvorit ćemo niz `
` elemenata koji će sadržavati slike.
### Slike
Jedna HTML oznaka koja ne treba završnu oznaku je `` oznaka, jer ima element `src` koji sadrži sve informacije potrebne za prikazivanje stavke na stranici.
Stvorite mapu u svojoj aplikaciji pod nazivom `images` i u nju dodajte sve slike iz [mape izvornog koda](../../../../3-terrarium/solution/images); (ima 14 slika biljaka).
### Zadatak
Dodajte te slike biljaka u dva stupca između oznaka ``:
```html
```
> Napomena: Spans vs. Divs. Divs se smatraju 'blok' elementima, a Spans 'inline'. Što bi se dogodilo da ove divove pretvorite u spanove?
S ovim markupom biljke se sada prikazuju na ekranu. Izgledaju prilično loše, jer još nisu stilizirane pomoću CSS-a, što ćemo učiniti u sljedećoj lekciji.
Svaka slika ima alt tekst koji će se pojaviti čak i ako ne možete vidjeti ili prikazati sliku. Ovo je važan atribut za uključivanje radi pristupačnosti. Saznajte više o pristupačnosti u budućim lekcijama; za sada zapamtite da atribut alt pruža alternativne informacije za sliku ako korisnik iz nekog razloga ne može vidjeti sliku (zbog sporog povezivanja, pogreške u atributu src ili ako korisnik koristi čitač ekrana).
✅ Jeste li primijetili da svaka slika ima isti alt tag? Je li to dobra praksa? Zašto ili zašto ne? Možete li poboljšati ovaj kod?
---
## Semantički markup
Općenito, poželjno je koristiti značajne 'semantike' prilikom pisanja HTML-a. Što to znači? To znači da koristite HTML oznake za predstavljanje vrste podataka ili interakcije za koje su dizajnirane. Na primjer, glavni naslov na stranici trebao bi koristiti oznaku `
`.
Dodajte sljedeći redak odmah ispod svoje početne oznake ``:
```html
My Terrarium
```
Korištenje semantičkog markupa, poput korištenja `
` za naslove i `
` za neuređene liste, pomaže čitačima ekrana da se kreću kroz stranicu. Općenito, gumbi bi trebali biti napisani kao `
`:
```html
```
✅ Iako ste dodali ovaj markup na ekran, ne vidite apsolutno ništa prikazano. Zašto?
---
## 🚀Izazov
Postoje neki zanimljivi 'stariji' HTML tagovi koji su još uvijek zabavni za igranje, iako ne biste trebali koristiti zastarjele oznake poput [ovih oznaka](https://developer.mozilla.org/docs/Web/HTML/Element#Obsolete_and_deprecated_elements) u svom markupu. Ipak, možete li koristiti staru oznaku `