# Пројекат Тераријум, део 1: Увод у HTML ![Увод у HTML](../../../../translated_images/webdev101-html.4389c2067af68e98280c1bde52b6c6269f399eaae3659b7c846018d8a7b0bbd9.sr.png) > Илустрација од [Томоми Имура](https://twitter.com/girlie_mac) HTML, или језик за означавање хипертекста, представља основу сваког веб сајта који сте икада посетили. Замислите HTML као скелет који даје структуру веб страницама – он дефинише где садржај иде, како је организован и шта сваки део представља. Док ће CSS касније "обући" ваш HTML бојама и изгледом, а JavaScript ће га оживети интерактивношћу, HTML пружа основну структуру која омогућава све остало. У овом лекцији, креираћете HTML структуру за виртуелни интерфејс тераријума. Овај практични пројекат ће вас научити основним концептима HTML-а док градите нешто визуелно привлачно. Научићете како да организујете садржај користећи семантичке елементе, радите са сликама и креирате основу за интерактивну веб апликацију. На крају ове лекције, имаћете функционалну HTML страницу која приказује слике биљака у организованим колонама, спремну за стилизовање у наредној лекцији. Не брините ако у почетку изгледа основно – то је управо оно што HTML треба да уради пре него што CSS дода визуелни изглед. ## Квиз пре предавања [Квиз пре предавања](https://ff-quizzes.netlify.app/web/quiz/15) > 📺 **Гледај и учи**: Погледајте овај користан видео преглед > > [![Видео о основама HTML-а](https://img.youtube.com/vi/1TvxJKBzhyQ/0.jpg)](https://www.youtube.com/watch?v=1TvxJKBzhyQ) ## Постављање вашег пројекта Пре него што се упустимо у HTML код, хајде да поставимо одговарајући радни простор за ваш пројекат тераријума. Креирање организоване структуре фолдера од самог почетка је кључна навика која ће вам бити од користи током целог вашег путовања кроз веб развој. ### Задатак: Креирајте структуру пројекта Креираћете посебан фолдер за ваш пројекат тераријума и додати ваш први HTML фајл. Ево два приступа која можете користити: **Опција 1: Коришћење Visual Studio Code-а** 1. Отворите Visual Studio Code 2. Кликните на "File" → "Open Folder" или користите `Ctrl+K, Ctrl+O` (Windows/Linux) или `Cmd+K, Cmd+O` (Mac) 3. Креирајте нови фолдер под називом `terrarium` и изаберите га 4. У панелу Explorer, кликните на икону "New File" 5. Назовите ваш фајл `index.html` ![VS Code Explorer приказује креирање новог фајла](../../../../translated_images/vs-code-index.e2986cf919471eb984a0afef231380c8b132b000635105f2397bd2754d1b689c.sr.png) **Опција 2: Коришћење команди у терминалу** ```bash mkdir terrarium cd terrarium touch index.html code index.html ``` **Ево шта ове команде постижу:** - **Креирају** нови директоријум под називом `terrarium` за ваш пројекат - **Прелазе** у директоријум тераријума - **Креирају** празан фајл `index.html` - **Отварају** фајл у Visual Studio Code-у за уређивање > 💡 **Савет**: Назив фајла `index.html` је посебан у веб развоју. Када неко посети веб сајт, претраживачи аутоматски траже `index.html` као подразумевану страницу за приказ. То значи да ће URL као што је `https://mysite.com/projects/` аутоматски приказати фајл `index.html` из фолдера `projects` без потребе да се у URL-у наводи име фајла. ## Разумевање структуре HTML документа Сваки HTML документ прати одређену структуру коју претраживачи морају разумети и правилно приказати. Замислите ову структуру као формално писмо – има потребне елементе у одређеном редоследу који помажу примаоцу (у овом случају претраживачу) да правилно обради садржај. Хајде да почнемо додавањем основне основе коју сваки HTML документ треба да има. ### Декларација DOCTYPE и коренски елемент Прве две линије било ког HTML фајла служе као "увод" документа претраживачу: ```html ``` **Разумевање шта овај код ради:** - **Декларише** тип документа као HTML5 користећи `` - **Креира** коренски `` елемент који ће садржати сав садржај странице - **Утврђује** савремене веб стандарде за правилно приказивање у претраживачу - **Обезбеђује** конзистентан приказ на различитим претраживачима и уређајима > 💡 **Савет за VS Code**: Пређите мишем преко било које HTML ознаке у VS Code-у да бисте видели корисне информације из MDN Web Docs, укључујући примере употребе и детаље о компатибилности са претраживачима. > 📚 **Сазнајте више**: Декларација DOCTYPE спречава претраживаче да уђу у "quirks mode", који се користио за подршку веома старим веб сајтовима. Савремени веб развој користи једноставну декларацију `` да би се обезбедило [приказивање у складу са стандардима](https://developer.mozilla.org/docs/Web/HTML/Quirks_Mode_and_Standards_Mode). ## Додавање основних метаподатака документа Секција `` HTML документа садржи кључне информације које су потребне претраживачима и претраживачким машинама, али које посетиоци не виде директно на страници. Замислите то као "иза сцене" информације које помажу вашој веб страници да правилно функционише и изгледа исправно на различитим уређајима и платформама. Ови метаподаци говоре претраживачима како да приказују вашу страницу, коју кодну страницу да користе и како да се носе са различитим величинама екрана – све што је неопходно за креирање професионалних, приступачних веб страница. ### Задатак: Додајте секцију `` документа Уметните ову секцију `` између ваших отварајућих и затварајућих `` ознака: ```html Welcome to my Virtual Terrarium ``` **Објашњење шта сваки елемент постиже:** - **Поставља** наслов странице који се појављује на картицама претраживача и у резултатима претраге - **Специфицира** UTF-8 кодирање карактера за правилан приказ текста широм света - **Обезбеђује** компатибилност са савременим верзијама Internet Explorer-а - **Конфигурише** одзивни дизајн постављањем viewport-а да одговара ширини уређаја - **Контролише** почетни ниво зумирања за приказ садржаја у природној величини > 🤔 **Размислите о овоме**: Шта би се десило ако поставите мета ознаку viewport овако: ``? Ово би приморало страницу да увек буде широка 600 пиксела, што би нарушило одзивни дизајн! Сазнајте више о [правилној конфигурацији viewport-а](https://developer.mozilla.org/docs/Web/HTML/Viewport_meta_tag). ## Изградња тела документа Елемент `` садржи сав видљиви садржај ваше веб странице – све што корисници виде и са чим интерагују. Док је секција `` пружила упутства претраживачу, секција `` садржи стварни садржај: текст, слике, дугмад и друге елементе који чине ваш кориснички интерфејс. Хајде да додамо структуру тела и разумемо како HTML ознаке раде заједно да би креирале смислен садржај. ### Разумевање структуре HTML ознака HTML користи парове ознака за дефинисање елемената. Већина ознака има отварајућу ознаку као што је `

` и затварајућу ознаку као што је `

`, са садржајем између: `

Здраво, свет!

`. Ово креира елемент параграфа који садржи текст "Здраво, свет!". ### Задатак: Додајте елемент тела Ажурирајте ваш HTML фајл да укључи елемент ``: ```html Welcome to my Virtual Terrarium ``` **Ево шта ова комплетна структура пружа:** - **Утврђује** основни оквир HTML5 документа - **Укључује** основне метаподатке за правилно приказивање у претраживачу - **Креира** празно тело спремно за ваш видљиви садржај - **Прати** најбоље праксе савременог веб развоја Сада сте спремни да додате видљиве елементе вашег тераријума. Користићемо `
` елементе као контејнере за организовање различитих секција садржаја и `` елементе за приказ слика биљака. ### Рад са сликама и контејнерима за распоред Слике су посебне у HTML-у јер користе "самозатварајуће" ознаке. За разлику од елемената као што су `

` који обухватају садржај, ознака `` садржи све потребне информације унутар саме ознаке користећи атрибуте као што су `src` за путању до фајла слике и `alt` за приступачност. Пре него што додате слике у ваш HTML, потребно је да правилно организујете фајлове вашег пројекта креирањем фолдера за слике и додавањем графика биљака. **Прво, поставите ваше слике:** 1. Креирајте фолдер под називом `images` унутар вашег фолдера пројекта тераријума 2. Преузмите слике биљака из [фолдера решења](../../../../3-terrarium/solution/images) (укупно 14 слика биљака) 3. Копирајте све слике биљака у ваш нови фолдер `images` ### Задатак: Креирајте распоред за приказ биљака Сада додајте слике биљака организоване у две колоне између ваших `` ознака: ```html
plant
plant
plant
plant
plant
plant
plant
plant
plant
plant
plant
plant
plant
plant
``` **Корак по корак, ево шта се дешава у овом коду:** - **Креира** главни контејнер странице са `id="page"` за држање целокупног садржаја - **Утврђује** два контејнера за колоне: `left-container` и `right-container` - **Организује** 7 биљака у леву колону и 7 биљака у десну колону - **Обухвата** сваку слику биљке у `plant-holder` div за индивидуално позиционирање - **Примењује** конзистентне називе класа за стилизовање CSS-ом у наредној лекцији - **Додељује** јединствене ID-еве свакој слици биљке за каснију интеракцију са JavaScript-ом - **Укључује** исправне путање до фолдера са сликама > 🤔 **Размислите о овоме**: Приметите да све слике тренутно имају исти alt текст "биљка". Ово није идеално за приступачност. Корисници читача екрана би чули "биљка" 14 пута без могућности да знају која конкретна биљка је приказана на свакој слици. Можете ли смислити бољи, описнији alt текст за сваку слику? > 📝 **Типови HTML елемената**: `
` елементи су "блоковни" и заузимају целу ширину, док су `` елементи "инлајн" и заузимају само потребну ширину. Шта мислите да би се десило ако бисте заменили све ове `
` ознаке са `` ознакама? Са овим додатим ознакама, биљке ће се појавити на екрану, иако још увек неће изгледати углађено – за то је намењен CSS у наредној лекцији! За сада, имате солидну HTML основу која правилно организује ваш садржај и прати најбоље праксе приступачности. ## Коришћење семантичког HTML-а за приступачност Семантички HTML значи одабир HTML елемената на основу њиховог значења и сврхе, а не само њиховог изгледа. Када користите семантичко означавање, комуницирате структуру и значење вашег садржаја претраживачима, претраживачким машинама и помоћним технологијама као што су читачи екрана. Овај приступ чини ваше веб странице приступачнијим за кориснике са инвалидитетом и помаже претраживачима да боље разумеју ваш садржај. То је основни принцип савременог веб развоја који ствара боља искуства за све. ### Додавање семантичког наслова странице Хајде да додамо одговарајући наслов вашој страници тераријума. Уметните ову линију одмах након ваше отварајуће `` ознаке: ```html

My Terrarium

``` **Зашто је семантичко означавање важно:** - **Помажe** читачима екрана да навигирају и разумеју структуру странице - **Побољшава** оптимизацију за претраживаче (SEO) разјашњавањем хијерархије садржаја - **Унапређује** приступачност за кориснике са оштећењем вида или когнитивним разликама - **Ствара** боља корисничка искуства на свим уређајима и платформама - **Прати** веб стандарде и најбоље праксе за професионални развој **Примери семантичких и несемантичких избора:** | Сврха | ✅ Семантички избор | ❌ Несемантички избор | |-------|---------------------|-----------------------| | Главни наслов | `

Наслов

` | `
Наслов
` | | Навигација | `` | `` | | Дугме | `` | `Кликни ме` | | Садржај чланка | `

` | `
` | > 🎥 **Погледајте у акцији**: Гледајте [како читачи екрана интерагују са веб страницама](https://www.youtube.com/watch?v=OUDV1gqs9GA) да бисте разумели зашто је семантичко означавање кључно за приступачност. Приметите како правилна HTML структура помаже корисницима да ефикасно навигирају. ## Креирање контејнера за тераријум Сада хајде да додамо HTML структуру за сам тераријум – стаклени контејнер у који ће биљке на крају бити постављене. Овај део демонстрира важан концепт: HTML **Подстицај:** Направите семантички HTML одељак који укључује главни наслов "Водич за негу биљака", три пододељка са насловима "Заливање", "Захтеви за светлост" и "Нега земљишта", сваки са параграфом информација о нези биљака. Користите одговарајуће семантичке HTML ознаке као што су `
`, `

`, `

` и `

` за правилно структурирање садржаја. Сазнајте више о [режиму агента](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode) овде. ## Истражите изазов историје HTML-а **Учење о еволуцији веба** HTML се значајно развио од када је Тим Бернерс-Ли направио први веб претраживач у CERN-у 1990. године. Неки старији тагови, попут ``, сада су застарели јер не функционишу добро са савременим стандардима приступачности и принципима одзивног дизајна. **Испробајте овај експеримент:** 1. Привремено обухватите свој `

` наслов у `` таг: `

Мој тераријум

` 2. Отворите своју страницу у претраживачу и посматрајте ефекат скроловања 3. Размислите зашто је овај таг застарео (наговештај: размислите о корисничком искуству и приступачности) 4. Уклоните `` таг и вратите се на семантички обележен садржај **Питања за размишљање:** - Како би скролујући наслов утицао на кориснике са оштећењем вида или осетљивошћу на кретање? - Које савремене CSS технике би могле постићи сличне визуелне ефекте на приступачнији начин? - Зашто је важно користити актуелне веб стандарде уместо застарелих елемената? Истражите више о [застарелим и уклоњеним HTML елементима](https://developer.mozilla.org/docs/Web/HTML/Element#Obsolete_and_deprecated_elements) да бисте разумели како се веб стандарди развијају ради побољшања корисничког искуства. ## Квиз након предавања [Квиз након предавања](https://ff-quizzes.netlify.app/web/quiz/16) ## Преглед и самостално учење **Продубите своје знање о HTML-у** HTML је основа веба већ више од 30 година, еволуирајући од једноставног језика за означавање докумената до софистициране платформе за изградњу интерактивних апликација. Разумевање ове еволуције помаже вам да цените савремене веб стандарде и доносите боље одлуке у развоју. **Препоручени путеви учења:** 1. **Историја и еволуција HTML-а** - Истражите временску линију од HTML 1.0 до HTML5 - Сазнајте зашто су одређени тагови застарели (приступачност, прилагођеност мобилним уређајима, одрживост) - Истражите нове HTML функције и предлоге 2. **Дубинско проучавање семантичког HTML-а** - Проучите комплетну листу [семантичких елемената HTML5](https://developer.mozilla.org/docs/Web/HTML/Element) - Вежбајте препознавање када користити `
`, `
`, `