# Projekt Terarij, 1. dio: Uvod u HTML

> Sketchnote autorice [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. Sintaksa HTML-a čak odražava tu ideju, jer uključuje oznake "head", "body" i "footer".
U ovoj lekciji koristit ćemo HTML za postavljanje '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šnje područje koje će predstavljati stakleni terarij. Do kraja ove lekcije moći ćete vidjeti biljke u stupcima, ali sučelje će izgledati pomalo čudno; ne brinite, u sljedećem dijelu dodat ćete CSS stilove kako bi sučelje izgledalo bolje.
### Zadatak
Na svom računalu stvorite mapu pod nazivom 'terrarium', a unutar nje datoteku pod nazivom 'index.html'. To možete učiniti u Visual Studio Codeu nakon što stvorite mapu terarija tako da otvorite novi prozor VS Codea, kliknete na 'open folder' i odete do svoje nove mape. Kliknite na 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 oznake html
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 trebaju prikazati stranicu u standardnom načinu rada, slijedeći trenutnu HTML specifikaciju.
> Savjet: u VS Codeu možete prijeći mišem preko oznake i dobiti informacije o njezinoj upotrebi iz MDN referentnih 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 DocTypea 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 doctypea.
---
## 'Head' dokumenta
Područje 'head' HTML dokumenta uključuje ključne informacije o vašoj web stranici, poznate i kao [metapodaci](https://developer.mozilla.org/docs/Web/HTML/Element/meta). U našem slučaju, serveru na koji će ova stranica biti poslana za prikazivanje, govorimo ove četiri stvari:
- naslov stranice
- metapodaci stranice uključujući:
- 'character set', koji govori o tome koje kodiranje znakova se 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 prilikom učitavanja. Postavljanje početne skale viewporta na 1 kontrolira razinu zumiranja kada se stranica prvi put učita.
### Zadatak
Dodajte blok 'head' u svoj dokument između početne i završne oznake ``.
```html
Welcome to my Virtual Terrarium
```
✅ Što bi se dogodilo ako biste postavili meta oznaku viewporta ovako: ``? Pročitajte više o [viewportu](https://developer.mozilla.org/docs/Web/HTML/Viewport_meta_tag).
---
## `Body` dokumenta
### HTML oznake
U HTML-u dodajete oznake u svoju .html datoteku 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 odvojenih 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 `src` element 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. Divovi se smatraju 'blok' elementima, dok su Spans 'inline'. Što bi se dogodilo ako biste ove divove pretvorili u spanove?
S ovim markupom biljke se sada prikazuju na ekranu. Izgleda prilično loše, jer još nisu stilizirane pomoću CSS-a, 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 alt atribut pruža alternativne informacije za sliku ako korisnik iz nekog razloga ne može vidjeti sliku (zbog sporog povezivanja, pogreške u src atributu 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čajan 'semantički' markup 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 postavljanja naslova kao `
` i navođenja neuređenih popisa kao `
`, pomaže čitačima ekrana da se lakše kreću kroz stranicu. Općenito, gumbi bi trebali biti napisani kao `
`:
```html
```
✅ Iako ste dodali ovaj markup na ekran, apsolutno ništa se ne prikazuje. Zašto?
---
## 🚀Izazov
Postoje neki zanimljivi 'stariji' tagovi u HTML-u koji su još uvijek zabavni za isprobati, 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 `