Mini projekat
Mini projekat
Mini projekat
Konsolidovati sve naučeno kroz kurs.
Primijeniti HTML i CSS (layout, tipografija, boje, responzivnost) u jednoj realnoj, praktičnoj strukturi.
Naučiti organizaciju fajlova i strukturu projekta.
Razviti osećaj za dizajn — raspored elemenata, responzivnost, čitljivost i estetiku.
Napraviti jednostavan, višesekcijski web-sajt koji može da bude, na primer: lični portfolio, mali biznis sajt, landing stranica, stranica sa opisom usluga, mini blog (bez CMS-a), itd.
Sajt mora sadržati: navigaciju (meni), zaglavlje (header / hero sekciju), glavni sadržaj (npr. sekcije: „O nama / O meni“, „Usluge / Portfolio / Projekti / Galerija“, „Kontakt“), footer.
Koristiti HTML strukturu — semantičke oznake (header, nav, main, section, footer, article/div …), klase i ID-eve po potrebi.
Stilizovati sa CSS-om koristeći sve koncepte iz kursa: boje, tipografija, padding/margine, pozicioniranje, layout (grid i/ili flexbox), kao i responzivnost — da sajt izgleda dobro i na mobilnim i na desktop uređajima.
Evo primera strukture fajlova + kostura HTML-a:
/project-folder/ index.html css/ style.css img/ (opciono — slike za sajt)
<!DOCTYPE html> <html lang="sr"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Moj prvi sajt — nazivi</title> <link rel="stylesheet" href="css/style.css" /> </head> <body> <header class="site-header"> <nav class="nav"> <ul class="nav__list"> <li><a href="#home">Početna</a></li> <li><a href="#about">O meni / O nama</a></li> <li><a href="#services">Usluge / Portfolio</a></li> <li><a href="#contact">Kontakt</a></li> </ul> </nav> <div class="hero"> <h1>Dobrodošli na moj sajt</h1> <p>Ovde je kratki opis / moto / predstavljanje</p> </div> </header> <main> <section id="about" class="about"> <h2>O meni / O nama</h2> <p>Par rečenica o tebi / firmi / ideji …</p> </section> <section id="services" class="services"> <h2>Usluge / Portfolio</h2> <div class="services__grid"> <div class="card">Projekat / Usluga 1</div> <div class="card">Projekat / Usluga 2</div> <div class="card">Projekat / Usluga 3</div> <!-- po potrebi više --> </div> </section> <section id="contact" class="contact"> <h2>Kontakt</h2> <p>Email, telefon, društvene mreže ili kontakt forma</p> </section> </main> <footer class="site-footer"> <p>© 2025 — Moje Ime / Naziv firme</p> </footer> </body> </html>
U style.css možeš da uključiš sledeće:
/* Globalno resetovanje / osnovni stilovi */
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: Arial, sans-serif;
line-height: 1.6;
color: #333;
background: #fafafa;
}
a {
text-decoration: none;
color: inherit;
}
/* Navigacija i header */
.site-header {
background: #004466;
color: white;
}
.nav__list {
list-style: none;
display: flex;
justify-content: center;
padding: 0;
margin: 0;
}
.nav__list li {
margin: 0 15px;
}
.nav__list a {
color: white;
font-weight: bold;
}
/* Hero sekcija */
.hero {
text-align: center;
padding: 60px 20px;
background: #006699;
color: white;
}
.hero h1 {
margin-bottom: 10px;
font-size: 2.5rem;
}
.hero p {
font-size: 1.2rem;
}
/* Sekcije glavnog sadržaja */
main section {
padding: 40px 20px;
}
/* Grid / kartice (usluge / portfolio) */
.services__grid {
display: grid;
gap: 20px;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.card {
background: white;
padding: 20px;
border: 1px solid #ddd;
border-radius: 6px;
text-align: center;
/* dodatno: senka, hover efekat ... */
}
/* Footer */
.site-footer {
background: #004466;
color: white;
text-align: center;
padding: 20px;
}
Ovaj CSS koristi: semantički HTML, reset box-modela, tipografiju i boje, osnovni layout sa grid-om za sekciju “usluge / portfolio”, i jednostavne stilove za navigaciju/header/footer.
Da sajt lepo radi i na mobilnim i desktop uređajima — možeš dodati:
/* Mobile-first — osnovni stilovi kao iznad */
/* Veći ekrani: širi hero, fleksibilnija navigacija, više kolona u grid-u */
@media (min-width: 768px) {
.hero {
padding: 100px 20px;
}
}
@media (min-width: 992px) {
.nav__list {
justify-content: flex-end;
padding-right: 40px;
}
}
Grid-sekcija (.services__grid) je već “fluidna” jer koristi auto-fit + minmax(), što znači da se broj kolona automatski menja u zavisnosti od širine ekrana — bez potrebe za dodatnim media query-ima. allthingsprogramming.com+2ProCoder 09+2
Ako želiš, možeš dodatno prilagoditi font-veličine, margine ili raspored sekcija za male ekrane — prema estetici i sadržaju koji imaš.
Da bi projekat bio “bogatiji” i da korisnik vežba više stvari:
Dodaj navigaciju koja “stickuje” na vrhu (sticky / fixed nav)
U “usluge / portfolio” sekciji — slike + opis + linkovi (cards sa slikama)
U “kontakt” sekciji — formular za kontakt (input, textarea, dugme) — uz stilizaciju
Dodaj hover efekte, tranzicije (npr. za dugmad, kartice)
Koristi boje, tipografiju, padding/margine da sajt ima “profesionalan” izgled
(Opcionalno) dodaj favicon, meta-tagove, naslov, opise — da bude sličan realnom sajtu
HTML struktura (semantički elementi, klase/ID-evi)
CSS selektori, boje, tipografija, dimenzije, padding/margine
Layout tehnike: Grid (za sekcije), opcionalno Flexbox (za navigaciju / mikro layout-e)
Koriste se i koncepti iz lekcija o tipografiji / bojama / rasporedu
Responsive dizajn sa fluidnim grid-om + Media Queries — da sajt bude upotrebljiv na raznim uređajima
Osnove organizacije foldera / fajlova, čistog i strukturiranog koda
Ovaj mini projekat omogućava da polaznik — koristeći sve što je naučio — napravi konkretan, funkcionalan web sajt. To je odlična priprema za dalje — kada počneš da učiš JavaScript, dinamičke sajtove, ili čak prelazak na neki framework.
Predlažem da sve što dosekneš olakšaš — kôd piši čitljivo, komentariši delove koje možda želiš da proširiš, koristi semantički HTML, vodi računa o responzivnosti i aksesibilnosti.