Stworzenie prostej strony wizytówki
Teraz pora zastosować zdobyte wiadomości w praktyce — poniżej znajdziesz semantyczny szablon i wskazówki, jak zrealizować jednostronicową stronę typu „wizytówka”. Instrukcja oparta na materiałach kursu .
1. Struktura HTML strony
Wykorzystaj semantyczne elementy, aby kod był czytelny dla ludzi i maszyn. Przykładowa struktura:
<!-- Nagłówek strony -->
<header id="top">
<div class="brand">
<img src="logo.png" alt="Moje Logo" height="50">
<h1>Nazwa Firmy / Osoby</h1>
<p class="tagline">Krótki slogan lub opis</p>
</div>
<nav>
<ul>
<li><a href="#about">O mnie</a></li>
<li><a href="#offer">Oferta</a></li>
<li><a href="#gallery">Galeria</a></li>
<li><a href="#contact">Kontakt</a></li>
</ul>
</nav>
</header>
<main>
<!-- Sekcja O mnie -->
<section id="about">
<h2>O mnie</h2>
<div class="about-inner">
<img src="portrait.jpg" alt="Zdjęcie portretowe" class="portrait">
<div class="about-text">
<p>Kilka zdań, kim jesteś, czym się zajmujesz, misja firmy itp.</p>
</div>
</div>
</section>
<!-- Sekcja Oferta -->
<section id="offer">
<h2>Oferta / Umiejętności</h2>
<ul>
<li>Usługa lub umiejętność 1</li>
<li>Usługa lub umiejętność 2</li>
<li>Usługa lub umiejętność 3</li>
</ul>
</section>
<!-- Sekcja Galeria -->
<section id="gallery">
<h2>Galeria</h2>
<div class="gallery-grid">
<img src="img1.jpg" alt="Opis zdjęcia 1" class="gallery-item">
<img src="img2.jpg" alt="Opis zdjęcia 2" class="gallery-item">
<img src="img3.jpg" alt="Opis zdjęcia 3" class="gallery-item">
<!-- dodaj więcej zdjęć w razie potrzeby -->
</div>
</section>
<!-- Sekcja Kontakt -->
<section id="contact">
<h2>Kontakt</h2>
<form action="#" method="post">
<label for="name">Imię / Nazwa</label>
<input type="text" id="name" name="name" required>
<label for="email">E-mail</label>
<input type="email" id="email" name="email" required>
<label for="message">Wiadomość</label>
<textarea id="message" name="message" rows="6" required></textarea>
<button type="submit">Wyślij</button>
</form>
</section>
</main>
<!-- Stopka -->
<footer>
<p>© 2025 Jan Kowalski</p>
<p>
<a href="#" aria-label="Facebook">📘 Facebook</a>
<a href="#" aria-label="LinkedIn">🔗 LinkedIn</a>
</p>
<p><a href="#top">Wróć do góry</a></p>
</footer>
Uwagi do kodu
- Każda sekcja ma unikalne id (np.
about,offer,gallery,contact) — ułatwia to nawigację kotwiczną i stylowanie. - Dodaj atrybuty
altdo wszystkich obrazków — to ważne dla dostępności. - Formularz jest front-endowy (action="#") — bez backendu nie będzie wysyłał danych.
2. Stylowanie CSS
Zalecane: zewnętrzny plik style.css podłączony w <head>.
<!-- Przykład wstawienia do sekcji head: -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
Wskazówki stylów:
- body: ustaw
font-family, zresetuj marginesy (margin:0;padding:0;), ustawcoloribackground-color. - Nagłówek: użyj
display:flexdo wyrównania logo i nazwy, dodaj padding i kontrastujące tło. - Sekcje: każdej sekcji nadaj padding, użyj różnych tła (np. białe / jasnoszare) dla kontrastu; nagłówki sekcji niech mają subtelne
border-bottom. - Galeria: zastosuj klasę wspólną dla obrazków (np.
.gallery-item) zmax-width:100%i układem flexbox (.gallery-grid { display:flex; flex-wrap:wrap; gap:16px; }). - Formularz: pola
width:100%z ograniczeniemmax-width:400px, etykiety blokowo nad polami, styl przycisku z efektem:hoveri:focus. - Responsywność: jedna media query np.
@media (max-width:600px)— zmiana kierunku flexa, zmniejszenie paddingów, kolumnowy układ obrazków i sekcji obraz+tekst jeden pod drugim.
/* Przykład prostych reguł */
body {
font-family: "Segoe UI", Roboto, sans-serif;
color: #333;
background: #fff;
margin: 0;
line-height: 1.6;
}
header { background: #2b7; color: #fff; padding: 16px; }
.brand { display: flex; align-items: center; gap: 12px; }
.gallery-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.gallery-item { flex: 1 1 calc(33% - 12px); max-width: calc(33% - 12px); height: auto; }
@media (max-width:600px) {
.gallery-item { flex: 1 1 100%; max-width: 100%; }
.about-inner { flex-direction: column; }
}
3. Sprawdzenie i dopracowanie
Po napisaniu kodu otwórz stronę w przeglądarce i sprawdź:
- Czy wszystkie elementy są czytelne i układ nie „rozjeżdża się”.
- Czy obrazy skalują się poprawnie na małym ekranie (
max-width:100%). - Czy formularz jest wygodny do wypełnienia na telefonie (pola nie są za małe).
- Czy dodałeś
meta viewportw sekcji head. - Skorzystaj z walidatora HTML (validator.w3.org) oraz narzędzi deweloperskich przeglądarki (symulacja urządzeń mobilnych).
Efekty dodatkowe (opcjonalne)
- Hover dla linków i obrazków (
:hover,transform: scale(1.05)). - Akcentowanie aktywnego elementu menu (klasa
.active). - Proste animacje wejścia (np.
transitiondla efektu powiększenia obrazka).
Ten projekt podsumowuje podstawy HTML i CSS: semantyczne znaczniki, listy, obrazy, formularze oraz podstawy responsywności. Powodzenia w kodowaniu wizytówki — kreatywność mile widziana!