12. diel - HTML layout
V minulej lekcii, Štýlovanie textu v CSS - Google fonty, veľkosť fontu a tieň, sme si ukázali štýlovanie písma pomocou Google fontov a nastavili veľkosť a tieň písma.
Dnes začneme v HTML/CSS tutoriále pracovať na layoute, pomocou ktorého pridáme našej stránke hlavičku a pätičku. Po dokončení niekoľkých nasledujúcich lekcií dotiahneme naše webové stránky do tejto podoby:
Aby sme tento výsledok dosiahli, musíme sa naučiť, ako pomocou CSS pozicionovať prvky na stránke.
Rozloženie stránky
Iste viete, že webové stránky majú určité rozloženie prvkov, ktorému sa často hovorí layout. Pri väčšine webových stránok nájdeme:
- hlavičku s logom webu,
- v nej alebo pod ňou navigáciu na najdôležitejšie podstránky,
- ďalej samotný článok s obsahom a
- na konci pätičku s informáciou, kto web vytvoril.
Nižšie sú tieto časti zvýraznené na layoute, ktorý budeme vytvárať:
Pre tieto elementy HTML poskytuje nové tagy, ktoré si hneď predstavíme.
Každá podstránka na našom webe má toto rovnaké rozloženie. Napr. ako stránka "About me", tak stránka "Skills" bude obsahovať tú istú hlavičku, navigáciu, článok a pätičku. Len v obsahu článku sa od seba samozrejme jednotlivé stránky odlišujú. Layout si vložíme do každej podstránky webu ako HTML kód a jeho elementy potom budeme pozicionovať pomocou CSS tak, aby sa zobrazovali na správnych miestach.
V minulosti sa na vytvorenie layoutu používali tzv. rámy, ktoré ale boli už z HTML odstránené, sú nevalidné a preto ich nebudeme používať. Navigácia bola v minulosti tiež často v ľavom stĺpci, neskôr sa premiestnila do vodorovného menu pod hlavičku.
Začnime tým najjednoduchším, a to poľom s článkom.
Článok <article>
Na našom webe teraz máme iba článok s informáciami o nás. Ten sme ako
článok nijako neoznačovali, pretože na webe nič ďalšie nebolo. Keď na
web teraz chceme pridať hlavičku a pätičku, treba časť s článkom
označiť ako článok pomocou párového tagu
<article>
, aby sa s hlavičkou a pätičkou neplietol.
Keď tagy na layout ako <article>
a ďalšie
ešte neexistovali, všetky časti stránky sa obaľovali do elementov
<div>
. Z toho však nebolo poznať, o akú časť stránky sa
jedná, a preto sa na tvorbu layoutov už nepoužíva. Element
<div>
nenesie žiadny význam pre webové
vyhľadávače, preto by sme sa ho mali snažiť používať čo najmenej.
Slúži na zoskupovanie logicky súvisiacich blokových
elementov. Tento element väčšinou používame v kombinácii s CSS štýlmi.
Využijeme ho v situáciách, keď potrebujeme skupinu elementov od zvyšku
obsahu odlíšiť iba vizuálne, ale nie sémanticky.
Časti článku -
<header>
a <section>
Samotný článok často neobsahuje len text, ale aj ďalšie doplňujúce
informácie ako titulok, autora, dátum publikácie, hodnotenia a podobne. Preto
existujú ďalšie tagy, ktorými je možné element
<article>
ešte logicky rozdeliť. Spravidla ho rozdeľujeme
aspoň na dve časti a to:
- na hlavičku s titulkom článku a
- na sekciu s obsahom článku.
Slúžia na to tagy <header>
a
<section>
. Opäť si ukážme, o aké časti výsledného
webu sa jedná:
V HTML kóde by sa článok s rozložením definoval takto:
<article> <header> <h1>About Me</h1> </header> <section> <p>Article text...</p> </section> </article>
Máme tu teda článok <article>
, ktorý ďalej obsahuje
hlavičku <header>
s nadpisom článku. Tagom
<section>
označujeme časť článku, v ktorej je jeho
obsah. Článku môžeme pridať aj pätičku pomocou tagu
<footer>
, kde sa zobrazí napríklad dátum jeho
publikácie a hodnotenia. V hlavičke by potom mohol byť uvedený
autor a podobne. My pre jednoduchosť zostaneme len pri vyššie uvedenej
štruktúre.
Hlavičky v HTML
Ako ste si možno práve uvedomili, už sa bavíme o tretej hlavičke v HTML. Aby sme si ich neplietli, poďme si ich zopakovať:
- hlavička HTML dokumentu
<head>
nie je vidieť a obsahuje informácie pre prehliadač a vyhľadávače - hlavičku stránky s logom a navigáciou si vytvoríme až ďalej
- hlavička článku
<header>
spravidla obsahuje nadpis článku
Úprava index.html
Poďme teraz nové znalosti konečne aplikovať do súboru
index.html
. Tu časť s článkom webu označíme ako článok a
ešte ju logicky rozdelíme na hlavičku a obsah, čo nám neskôr pomôže
vytvoriť dané rozloženie webu.
Za značkou <body>
teda otvoríme element
<article>
s článkom a v ňom element
<header>
s nadpisom <h1>
:
... <body> <article> <header> <h1>About Me</h1> ...
Hlavičku následne zatvoríme pomocou </header>
a
otvoríme <section>
pre obsah článku, v ktorom bude zvyšok
obsahu stránky. Pretože obsah na stránke sme vytvorili niekedy v začiatku
kurzu, rovno ho upravíme, aby zodpovedal cielenému vzhľadu webu:
</header> <section> <img src="images/avatar.jpg" class="avatar" alt="Programmer SaBi" /> <p>Welcome! I'm thrilled to help you transform your ideas into stunning, <strong>high-performing websites</strong>.</p> <p>I'm Sam Bittner, a web developer with a passion for creating dynamic and responsive websites. I have expertise in various technologies, including HTML, CSS, JavaScript, and Java with Spring Boot.</p> <p>When I'm not coding, I love reading tech blogs, experimenting with new frameworks, and engaging in outdoor activities.</p> <p>You can contact me at <a href="contact.html">contact page</a>.</p> <h2>Skills</h2> <p>I've listed what I can do on the <a href="skills.html">skills page</a>.</p> </section> </article> </body>
Obsah a článok nezabudneme úplne na konci zavrieť pomocou
</section>
a </article>
.
Obrázku sme priradili triedu class="avatar"
, aby sme ho mohli
ďalej v kurze štýlovať. Rovno ju využijeme na zmenšenie obrázku, ktorý
by nám zaberal veľmi veľký priestor. Obrázok <img>
nebudeme chcieť ďalej inak štýlovať, preto okolo neho už nie je odsek s
centrovacou triedou a nemá ani atribúty na nastavenie šírky a výšky s
percentami. Pre zmenšenie obrázku do súboru style.css
pridáme:
.avatar { width: 300px; }
A máme hotovo. Naša stránka bude teraz vyzerať takto:
Web nájdete ako vždy v prílohe na stiahnutie.
V budúcej lekcii, Pozadie webu a veľkosť elementov, si ukážeme štýlovanie pozadia webovej stránky a nastavíme výšku a šírku elementov.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 39x (2.28 MB)
Aplikácia je vrátane zdrojových kódov v jazyku HTML a CSS