# Terrárium Projekt 1. rész: Bevezetés a HTML-be

> Sketchnote készítette: [Tomomi Imura](https://twitter.com/girlie_mac)
A HTML, vagy HyperText Markup Language, minden weboldal alapja, amit valaha meglátogattál. Gondolj a HTML-re úgy, mint a weboldalak vázára – meghatározza, hogy hova kerül a tartalom, hogyan van szervezve, és mit képvisel minden egyes elem. Míg a CSS később "felöltözteti" a HTML-t színekkel és elrendezésekkel, a JavaScript pedig interaktivitást ad hozzá, a HTML biztosítja azt az alapvető struktúrát, amely lehetővé teszi a többi funkciót.
Ebben a leckében létrehozod egy virtuális terrárium felület HTML struktúráját. Ez a gyakorlati projekt megtanítja neked az alapvető HTML fogalmakat, miközben valami vizuálisan vonzót építesz. Megtanulod, hogyan szervezd a tartalmat szemantikus elemekkel, hogyan dolgozz képekkel, és hogyan hozd létre egy interaktív webalkalmazás alapját.
A lecke végére lesz egy működő HTML oldalad, amely növényi képeket jelenít meg rendezett oszlopokban, készen arra, hogy a következő leckében stílusokat adj hozzá. Ne aggódj, ha eleinte egyszerűnek tűnik – pontosan ez a HTML feladata, mielőtt a CSS hozzáadja a vizuális csiszolást.
## Előzetes kvíz
[Előzetes kvíz](https://ff-quizzes.netlify.app/web/quiz/15)
> 📺 **Nézd meg és tanulj**: Nézd meg ezt a hasznos videóáttekintést
>
> [](https://www.youtube.com/watch?v=1TvxJKBzhyQ)
## Projekt beállítása
Mielőtt belevágunk a HTML kódba, állítsuk be a megfelelő munkaterületet a terrárium projekthez. Az elejétől kezdve egy rendezett fájlszerkezet létrehozása kulcsfontosságú szokás, amely végigkísér majd a webfejlesztési utadon.
### Feladat: Hozd létre a projekt struktúráját
Hozz létre egy dedikált mappát a terrárium projekthez, és adj hozzá egy első HTML fájlt. Két megközelítést használhatsz:
**1. lehetőség: Visual Studio Code használata**
1. Nyisd meg a Visual Studio Code-ot
2. Kattints a "File" → "Open Folder" menüpontra, vagy használd a `Ctrl+K, Ctrl+O` (Windows/Linux) vagy `Cmd+K, Cmd+O` (Mac) billentyűkombinációt
3. Hozz létre egy új mappát `terrarium` néven, és válaszd ki
4. Az Explorer panelen kattints az "Új fájl" ikonra
5. Nevezd el a fájlt `index.html`-nek

**2. lehetőség: Terminál parancsok használata**
```bash
mkdir terrarium
cd terrarium
touch index.html
code index.html
```
**Ezeket a parancsokat hajtják végre:**
- **Létrehoz** egy új `terrarium` nevű könyvtárat a projekthez
- **Belép** a terrárium könyvtárba
- **Létrehoz** egy üres `index.html` fájlt
- **Megnyitja** a fájlt szerkesztésre a Visual Studio Code-ban
> 💡 **Profi tipp**: Az `index.html` fájlnév különleges a webfejlesztésben. Amikor valaki meglátogat egy weboldalt, a böngészők automatikusan az `index.html` fájlt keresik, hogy azt jelenítsék meg alapértelmezett oldalként. Ez azt jelenti, hogy egy olyan URL, mint például `https://mysite.com/projects/`, automatikusan az `index.html` fájlt fogja megjeleníteni a `projects` mappából anélkül, hogy a fájlnevet meg kellene adni az URL-ben.
## A HTML dokumentum struktúrájának megértése
Minden HTML dokumentum egy specifikus struktúrát követ, amelyet a böngészőknek meg kell érteniük és helyesen megjeleníteniük. Gondolj erre a struktúrára úgy, mint egy hivatalos levélre – vannak kötelező elemei egy adott sorrendben, amelyek segítenek a címzettnek (jelen esetben a böngészőnek) megfelelően feldolgozni a tartalmat.
Kezdjük azzal, hogy hozzáadjuk az alapvető elemeket, amelyekre minden HTML dokumentumnak szüksége van.
### A DOCTYPE deklaráció és a gyökérelem
Minden HTML fájl első két sora a dokumentum "bemutatkozása" a böngésző számára:
```html
```
**Mit csinál ez a kód:**
- **Deklarálja** a dokumentum típusát HTML5-ként a `` segítségével
- **Létrehozza** a gyökér `` elemet, amely tartalmazza az összes oldal tartalmát
- **Megállapítja** a modern webes szabványokat a megfelelő böngészőmegjelenítéshez
- **Biztosítja** az egységes megjelenítést különböző böngészők és eszközök között
> 💡 **VS Code tipp**: Vigye az egeret bármelyik HTML címkére a VS Code-ban, hogy hasznos információkat lásson az MDN Web Docs-tól, beleértve a használati példákat és a böngészőkompatibilitási részleteket.
> 📚 **További információ**: A DOCTYPE deklaráció megakadályozza, hogy a böngészők "quirks mode"-ba lépjenek, amelyet nagyon régi weboldalak támogatására használtak. A modern webfejlesztés az egyszerű `` deklarációt használja a [szabványos megjelenítés](https://developer.mozilla.org/docs/Web/HTML/Quirks_Mode_and_Standards_Mode) biztosítására.
## Alapvető dokumentum metaadatok hozzáadása
A HTML dokumentum `
` szekciója tartalmazza azokat a kulcsfontosságú információkat, amelyekre a böngészőknek és a keresőmotoroknak szükségük van, de amelyeket a látogatók közvetlenül nem látnak az oldalon. Gondolj rá úgy, mint a "színfalak mögötti" információra, amely segít az oldalad megfelelő működésében és megjelenésében különböző eszközökön és platformokon.
Ez a metaadat megmondja a böngészőknek, hogyan jelenítsék meg az oldaladat, milyen karakterkódolást használjanak, és hogyan kezeljék a különböző képernyőméreteket – mindez elengedhetetlen a professzionális, hozzáférhető weboldalak létrehozásához.
### Feladat: Add hozzá a dokumentum fejét
Illeszd be ezt a `` szekciót a nyitó és záró `` címkék közé:
```html
Welcome to my Virtual Terrarium
```
**Mit ér el minden elem:**
- **Beállítja** az oldal címét, amely megjelenik a böngésző lapjain és a keresési eredményekben
- **Megadja** a UTF-8 karakterkódolást a megfelelő szövegmegjelenítéshez világszerte
- **Biztosítja** a kompatibilitást a modern Internet Explorer verziókkal
- **Konfigurálja** a reszponzív dizájnt az eszköz szélességéhez igazított nézetablak beállításával
- **Szabályozza** a kezdeti nagyítási szintet, hogy a tartalom természetes méretben jelenjen meg
> 🤔 **Gondolkodj el ezen**: Mi történne, ha egy ilyen nézetablak meta címkét állítanál be: ``? Ez arra kényszerítené az oldalt, hogy mindig 600 pixel széles legyen, megszakítva a reszponzív dizájnt! Tudj meg többet a [megfelelő nézetablak konfigurációról](https://developer.mozilla.org/docs/Web/HTML/Viewport_meta_tag).
## A dokumentum törzsének felépítése
A `` elem tartalmazza a weboldalad minden látható tartalmát – mindent, amit a felhasználók látnak és amivel interakcióba lépnek. Míg a `` szekció utasításokat adott a böngészőnek, a `` szekció tartalmazza a tényleges tartalmat: szövegeket, képeket, gombokat és más elemeket, amelyek létrehozzák a felhasználói felületet.
Adjunk hozzá a törzs struktúráját, és értsük meg, hogyan működnek együtt a HTML címkék, hogy értelmes tartalmat hozzanak létre.
### A HTML címkék struktúrájának megértése
A HTML páros címkéket használ az elemek meghatározására. A legtöbb címkének van egy nyitó címkéje, mint például `
`, és egy záró címkéje, mint például `
`, a tartalom pedig közéjük kerül: `
Hello, világ!
`. Ez létrehoz egy bekezdés elemet, amely tartalmazza a "Hello, világ!" szöveget.
### Feladat: Add hozzá a törzs elemet
Frissítsd a HTML fájlodat, hogy tartalmazza a `` elemet:
```html
Welcome to my Virtual Terrarium
```
**Mit biztosít ez a teljes struktúra:**
- **Létrehozza** az alapvető HTML5 dokumentum keretrendszert
- **Tartalmazza** az alapvető metaadatokat a megfelelő böngészőmegjelenítéshez
- **Létrehoz egy üres törzset**, amely készen áll a látható tartalomhoz
- **Követi** a modern webfejlesztési legjobb gyakorlatokat
Most készen állsz arra, hogy hozzáadd a terrárium látható elemeit. `
` elemeket fogunk használni konténerekként a tartalom különböző szekcióinak szervezéséhez, és `` elemeket a növényi képek megjelenítéséhez.
### Képek és elrendezési konténerek használata
A képek különlegesek a HTML-ben, mert "önzáró" címkéket használnak. Az olyan elemekkel ellentétben, mint a ``, amelyek tartalmat ölelnek körül, az `` címke minden szükséges információt tartalmaz a címkén belül, például a `src` attribútumot a kép fájlútvonalához és az `alt` attribútumot a hozzáférhetőséghez.
Mielőtt képeket adnál hozzá a HTML-hez, megfelelően kell szervezned a projekt fájlokat, létrehozva egy képek mappát, és hozzáadva a növényi grafikákat.
**Először állítsd be a képeket:**
1. Hozz létre egy `images` nevű mappát a terrárium projekt mappájában
2. Töltsd le a növényi képeket a [megoldás mappából](../../../../3-terrarium/solution/images) (összesen 14 növényi kép)
3. Másold az összes növényi képet az új `images` mappába
### Feladat: Hozd létre a növényi megjelenítési elrendezést
Most add hozzá a növényi képeket két oszlopba rendezve a `` címkék közé:
```html
```
**Lépésről lépésre, mit csinál ez a kód:**
- **Létrehoz** egy főoldali konténert `id="page"` az összes tartalom számára
- **Létrehoz** két oszlop konténert: `left-container` és `right-container`
- **Rendez** 7 növényt a bal oszlopba és 7 növényt a jobb oszlopba
- **Körülvesz** minden növényi képet egy `plant-holder` divvel az egyedi pozícionáláshoz
- **Alkalmaz** egységes osztályneveket a CSS stílusozáshoz a következő leckében
- **Hozzárendel** egyedi azonosítókat minden növényi képhez a későbbi JavaScript interakcióhoz
- **Tartalmazza** a megfelelő fájlútvonalakat, amelyek az images mappára mutatnak
> 🤔 **Gondolj bele**: Figyeld meg, hogy jelenleg minden képnek ugyanaz az alt szövege van: "plant". Ez nem ideális a hozzáférhetőség szempontjából. A képernyőolvasót használók 14-szer hallanák, hogy "plant", anélkül hogy tudnák, melyik konkrét növényt mutatja az egyes képek. Tudsz jobb, leíróbb alt szöveget kitalálni minden képhez?
> 📝 **HTML elem típusok**: A `
` elemek "blokkszintűek" és teljes szélességet foglalnak el, míg a `` elemek "inline" és csak a szükséges szélességet foglalják el. Mi történne, ha az összes `
` címkét `` címkékre cserélnéd?
Ezzel a jelöléssel a növények megjelennek a képernyőn, bár még nem néznek ki kifinomultan – erre való a CSS a következő leckében! Egyelőre van egy szilárd HTML alapod, amely megfelelően szervezi a tartalmat és követi a hozzáférhetőségi legjobb gyakorlatokat.
## Szemantikus HTML használata a hozzáférhetőség érdekében
A szemantikus HTML azt jelenti, hogy az elemeket azok jelentése és célja alapján választjuk ki, nem csak a megjelenésük alapján. Ha szemantikus jelölést használsz, akkor a tartalom szerkezetét és jelentését közvetíted a böngészőknek, keresőmotoroknak és a képernyőolvasóknak.
Ez a megközelítés hozzáférhetőbbé teszi a weboldalakat a fogyatékkal élő felhasználók számára, és segít a keresőmotoroknak jobban megérteni a tartalmat. Ez a modern webfejlesztés alapelve, amely jobb élményeket teremt mindenki számára.
### Szemantikus oldal cím hozzáadása
Adj hozzá egy megfelelő címsort a terrárium oldaladhoz. Illeszd be ezt a sort közvetlenül a nyitó `` címke után:
```html
My Terrarium
```
**Miért fontos a szemantikus jelölés:**
- **Segíti** a képernyőolvasókat az oldal szerkezetének navigálásában és megértésében
- **Javítja** a keresőmotor optimalizálást (SEO) azáltal, hogy tisztázza a tartalom hierarchiáját
- **Növeli** a hozzáférhetőséget a látássérült vagy kognitív különbségekkel élő felhasználók számára
- **Jobb felhasználói élményt teremt** minden eszközön és platformon
- **Követi** a webes szabványokat és a professzionális fejlesztési legjobb gyakorlatokat
**Példák szemantikus vs. nem szemantikus választásokra:**
| Cél | ✅ Szemantikus választás | ❌ Nem szemantikus választás |
|-----|-------------------------|----------------------------|
| Főcím | `
` |
> 🎥 **Nézd meg működés közben**: Nézd meg, [hogyan lépnek interakcióba a képernyőolvasók a weboldalakkal](https://www.youtube.com/watch?v=OUDV1gqs9GA), hogy megértsd, miért fontos a szemantikus jelölés. Figyeld meg, hogyan segíti a megfelelő HTML struktúra a felhasználókat az oldal hatékony navigálásában.
##
**Prompt:** Készíts egy szemantikus HTML szekciót, amely tartalmaz egy fő címet "Növényápolási útmutató", három alfejezetet "Öntözés", "Fényigények" és "Talajápolás" címmel, mindegyikben egy bekezdésnyi információval a növényápolásról. Használj megfelelő szemantikus HTML tageket, mint például ``, `
`, `
`, és `
` a tartalom megfelelő strukturálásához.
Tudj meg többet az [agent mode](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode) funkcióról itt.
## HTML Történeti Kihívás Felfedezése
**A web fejlődésének megismerése**
Az HTML jelentős fejlődésen ment keresztül, mióta Tim Berners-Lee 1990-ben megalkotta az első webböngészőt a CERN-nél. Néhány régebbi tag, mint például a `