# Пројекат Тераријум, 1. део: Увод у HTML

> Скетч од [Томоми Имура](https://twitter.com/girlie_mac)
## Квиз пре предавања
[Квиз пре предавања](https://ff-quizzes.netlify.app/web/quiz/15)
> Погледајте видео
>
> [](https://www.youtube.com/watch?v=1TvxJKBzhyQ)
### Увод
HTML, или ХиперТекст Маркуп Језик, је 'скелет' веба. Ако CSS 'облачи' ваш HTML, а JavaScript му даје живот, онда је HTML тело ваше веб апликације. Чак и синтакса HTML-а одражава ту идеју, јер укључује ознаке као што су "head", "body" и "footer".
У овој лекцији ћемо користити HTML да направимо 'скелет' интерфејса нашег виртуелног тераријума. Имаће наслов и три колоне: десну и леву колону где ће се налазити биљке које се могу превлачити, и централни део који ће представљати стаклени тераријум. До краја ове лекције, моћи ћете да видите биљке у колонама, али интерфејс ће изгледати мало чудно; не брините, у следећем делу ћете додати CSS стилове како би интерфејс изгледао боље.
### Задатак
На вашем рачунару, направите фасциклу под називом 'terrarium' и унутар ње фајл под називом 'index.html'. Ово можете урадити у Visual Studio Code-у након што направите фасциклу тераријума тако што ћете отворити нови прозор VS Code-а, кликнути на 'open folder' и пронаћи вашу нову фасциклу. Кликните на мало дугме 'file' у панелу Explorer и направите нови фајл:

Или
Користите ове команде у вашем git bash-у:
* `mkdir terrarium`
* `cd terrarium`
* `touch index.html`
* `code index.html` или `nano index.html`
> index.html фајлови указују претраживачу да је то подразумевани фајл у фасцикли; URL-ови као што је `https://anysite.com/test` могу бити изграђени користећи структуру фасцикли која укључује фасциклу под називом `test` са `index.html` унутар ње; `index.html` не мора да се приказује у URL-у.
---
## DocType и html ознаке
Први ред HTML фајла је његов doctype. Мало је изненађујуће што овај ред мора бити на самом врху фајла, али он говори старијим претраживачима да страница треба да се рендерује у стандардном режиму, пратећи тренутну html спецификацију.
> Савет: у VS Code-у, можете прећи мишем преко ознаке и добити информације о њеној употреби из MDN референтних водича.
Други ред треба да буде отварајућа ознака ``, одмах праћена затварајућом ознаком ``. Ове ознаке су коренски елементи вашег интерфејса.
### Задатак
Додајте ове редове на врх вашег `index.html` фајла:
```HTML
```
✅ Постоји неколико различитих режима који се могу одредити постављањем DocType-а са упитом: [Quirks Mode и Standards Mode](https://developer.mozilla.org/docs/Web/HTML/Quirks_Mode_and_Standards_Mode). Ови режими су коришћени за подршку веома старим претраживачима који се данас ретко користе (Netscape Navigator 4 и Internet Explorer 5). Можете се држати стандардне декларације doctype-а.
---
## 'Head' документа
'Head' део HTML документа укључује кључне информације о вашој веб страници, познате као [метаподаци](https://developer.mozilla.org/docs/Web/HTML/Element/meta). У нашем случају, серверу на који ће ова страница бити послата за рендеровање, шаљемо ове четири ствари:
- наслов странице
- метаподатке странице, укључујући:
- 'character set', који говори о томе која се кодна страна користи на страници
- информације о претраживачу, укључујући `x-ua-compatible` који указује да је IE=edge претраживач подржан
- информације о томе како би viewport требало да се понаша када се страница учита. Постављање viewport-а да има почетни скал од 1 контролише ниво зумирања када се страница први пут учита.
### Задатак
Додајте 'head' блок у ваш документ између отварајућих и затварајућих `` ознака.
```html
Welcome to my Virtual Terrarium
```
✅ Шта би се десило ако поставите viewport мета ознаку овако: ``? Прочитајте више о [viewport-у](https://developer.mozilla.org/docs/Web/HTML/Viewport_meta_tag).
---
## `Body` документа
### HTML ознаке
У HTML-у, додајете ознаке у ваш .html фајл како бисте креирали елементе веб странице. Свака ознака обично има отварајућу и затварајућу ознаку, као што је: `
здраво
` за означавање параграфа. Креирајте тело вашег интерфејса додавањем скупа `` ознака унутар `` пара ознака; ваш код сада изгледа овако:
### Задатак
```html
Welcome to my Virtual Terrarium
```
Сада можете почети са изградњом ваше странице. Обично користите `
` ознаке за креирање одвојених елемената на страници. Направићемо серију `
` елемената који ће садржати слике.
### Слике
Једна HTML ознака која не захтева затварајућу ознаку је `` ознака, јер има `src` елемент који садржи све информације потребне страници да рендерује ставку.
Направите фасциклу у вашој апликацији под називом `images` и у њу додајте све слике из [фасцикле са изворним кодом](../../../../3-terrarium/solution/images); (постоји 14 слика биљака).
### Задатак
Додајте те слике биљака у две колоне између `` ознака:
```html
```
> Напомена: Divs vs. Spans. Divs се сматрају 'блок' елементима, а Spans 'inline'. Шта би се десило ако бисте ове div-ове претворили у span-ове?
Са овим кодом, биљке се сада приказују на екрану. Изгледа прилично лоше, јер још увек нису стилизоване помоћу CSS-а, што ћемо урадити у следећој лекцији.
Свака слика има alt текст који ће се појавити чак и ако не можете да видите или рендерујете слику. Ово је важан атрибут за укључивање ради приступачности. Сазнајте више о приступачности у будућим лекцијама; за сада, запамтите да alt атрибут пружа алтернативне информације за слику ако корисник из неког разлога не може да је види (због споре везе, грешке у src атрибуту или ако корисник користи читач екрана).
✅ Да ли сте приметили да свака слика има исти alt текст? Да ли је ово добра пракса? Зашто или зашто не? Можете ли побољшати овај код?
---
## Семантички маркуп
Уопштено, пожељно је користити значајан 'семантички' маркуп приликом писања HTML-а. Шта то значи? То значи да користите HTML ознаке да представите тип података или интеракције за које су дизајниране. На пример, главни наслов текста на страници треба да користи `
` ознаку.
Додајте следећи ред одмах испод ваше отварајуће `` ознаке:
```html
My Terrarium
```
Коришћење семантичког маркупа, као што је коришћење `
` за наслове и `
` за неуређене листе, помаже читачима екрана да се крећу кроз страницу. Уопштено, дугмад треба писати као `
` ознаке:
```html
```
✅ Иако сте додали овај маркуп на екран, не видите ништа што се рендерује. Зашто?
---
## 🚀Изазов
Постоје неке занимљиве 'старе' ознаке у HTML-у које је и даље забавно испробати, иако не би требало да користите застареле ознаке као што су [ове ознаке](https://developer.mozilla.org/docs/Web/HTML/Element#Obsolete_and_deprecated_elements) у вашем маркупу. Ипак, можете ли користити стару `