# Пројекат Тераријум, 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 meta ознаку овако: ``? Прочитајте више о [viewport-у](https://developer.mozilla.org/docs/Web/HTML/Viewport_meta_tag).
---
## 'Body' документа
### HTML ознаке
У HTML-у, додајете ознаке у вашу .html датотеку како бисте креирали елементе веб странице. Свака ознака обично има отварајућу и затварајућу ознаку, попут ове: `
hello
` за означавање параграфа. Направите тело вашег интерфејса додавањем скупа `` ознака унутар `` пара ознака; ваш код сада изгледа овако:
### Задатак
```html
Welcome to my Virtual Terrarium
```
Сада можете почети да градите вашу страницу. Обично користите `
` ознаке за креирање одвојених елемената на страници. Направићемо серију `
` елемената који ће садржати слике.
### Слике
Једна HTML ознака која не захтева затварајућу ознаку је `` ознака, јер има `src` елемент који садржи све информације потребне страници да прикаже ставку.
Направите фасциклу у вашој апликацији под називом `images` и у њој додајте све слике из [изворног кода](../../../../3-terrarium/solution/images); (постоји 14 слика биљака).
### Задатак
Додајте те слике биљака у две колоне између `` ознака:
```html
```
> Напомена: Спанови против Дивова. Дивови се сматрају 'блок' елементима, а Спанови 'инлајн'. Шта би се догодило ако ове дивове претворите у спанове?
Са овим кодом, биљке се сада приказују на екрану. Изгледа прилично лоше, јер још увек нису стилизоване помоћу CSS-а, што ћемо урадити у следећој лекцији.
Свака слика има alt текст који ће се појавити чак и ако не можете да видите или прикажете слику. Ово је важан атрибут за укључивање ради приступачности. Сазнајте више о приступачности у будућим лекцијама; за сада, запамтите да alt атрибут пружа алтернативне информације за слику ако корисник из неког разлога не може да је види (због споре везе, грешке у src атрибуту или ако корисник користи читач екрана).
✅ Да ли сте приметили да свака слика има исти alt текст? Да ли је ово добра пракса? Зашто или зашто не? Можете ли побољшати овај код?
---
## Семантички маркуп
Уопштено, пожељно је користити значајан 'семантички' маркуп када пишете HTML. Шта то значи? То значи да користите HTML ознаке које представљају тип података или интеракције за које су дизајниране. На пример, главни наслов текста на страници треба да користи `
` ознаку.
Додајте следећи ред одмах испод ваше отварајуће `` ознаке:
```html
My Terrarium
```
Коришћење семантичког маркупа, као што је коришћење `
` за наслове и `
` за неуређене листе, помаже читачима екрана да се крећу кроз страницу. Уопштено, дугмад треба да буду написана као `
` ознаке:
```html
```
✅ Иако сте додали овај маркуп на екран, апсолутно ништа се не приказује. Зашто?
---
## 🚀Изазов
Постоје неке занимљиве 'старије' ознаке у HTML-у које је и даље забавно испробати, иако не би требало да користите застареле ознаке као што су [ове ознаке](https://developer.mozilla.org/docs/Web/HTML/Element#Obsolete_and_deprecated_elements) у вашем маркупу. Ипак, можете ли користити стару `