Wyzwanie podsumowujące
Część sekcji Praktyczny frontend ścieżki HTML w Coddy. Lekcja 11 z 35.
Wyzwanie
ŁatwyOtrzymujesz stronę HTML profilu użytkownika. Twoim zadaniem jest zastosowanie zasad projektowania mobile-first, aby strona była w pełni responsywna. Postępuj zgodnie z poniższymi instrukcjami:
1. Nawigacja w podejściu mobile-first
- Na większych ekranach wyświetl listę nawigacyjną i ukryj przycisk menu.
2. Typografia w podejściu mobile-first
- Utwórz zmienną CSS
--body-font-size: 16pxi zastosuj ją do elementu body. Będzie to bazowy rozmiar czcionki na małych ekranach.
3. Obrazy w podejściu mobile-first
- Użyj znacznika
<picture>, aby udostępnić różne rozmiary obrazu na urządzenia mobilne i większe ekrany. - Użyj znacznika
<source>z atrybutemsrcsetwskazującym większy obraz, na przykład:https://upload.wikimedia.org/wikipedia/commons/1/1f/Woman_1.jpg. - Dodaj
media="(min-width: 768px)", aby zastosować go na większych ekranach. - Upewnij się, że rozmiar obrazu profilu jest odpowiednio skalowany zależnie od szerokości ekranu.
4. Formularze w podejściu mobile-first
- Ustaw szerokość wszystkich pól wejściowych i przycisku wysyłania na
100%, aby zajmowały całą szerokość i można je było łatwo dotknąć.
Strona powinna wyglądać estetycznie, być czytelna i przyjazna dla użytkownika zarówno na ekranach urządzeń mobilnych, jak i komputerów. Zastosuj odstępy, wyrównanie i responsywne rozmiary, aby całość była dobrze wyważona.
Spróbuj swoich sił
<!DOCTYPE html>
<html>
<head>
<title>Mobile-First Profile</title>
<style>
:root {
--primary-font: Arial, sans-serif;
--heading-font: 'Helvetica', sans-serif;
--h1-size: 2rem;
--h2-size: 1.5rem;
--primary-color: #4a90e2;
--secondary-color: #f0f4f8;
}
body {
font-family: var(--primary-font);
margin: 0;
padding: 20px;
background-color: var(--secondary-color);
}
h1 {
font-family: var(--heading-font);
font-size: var(--h1-size);
color: var(--primary-color);
margin-bottom: 5px;
}
h2 {
font-family: var(--heading-font);
font-size: var(--h2-size);
color: #333;
margin-top: 0;
}
nav {
margin-bottom: 20px;
}
.menu-button {
display: block;
padding: 10px 15px;
background-color: var(--primary-color);
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
margin-bottom: 10px;
}
.nav-list {
display: none;
list-style: none;
padding: 0;
margin: 0;
}
.nav-list li {
margin-bottom: 10px;
}
.nav-list li a {
text-decoration: none;
color: var(--primary-color);
}
.profile-img {
width: 100%;
max-width: 250px;
border-radius: 50%;
margin-bottom: 20px;
display: block;
}
section p {
line-height: 1.6;
margin-bottom: 20px;
}
form {
display: flex;
flex-direction: column;
gap: 10px;
}
input, textarea, button {
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 1rem;
}
button {
background-color: var(--primary-color);
color: white;
cursor: pointer;
}
/* Media queries for larger screens */
@media (min-width: 768px) {
.nav-list {
gap: 20px;
}
.nav-list li {
margin-bottom: 0;
}
form {
max-width: 500px;
}
}
</style>
</head>
<body>
<nav>
<button class="menu-button">Menu</button>
<ul class="nav-list">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
<header>
<h1>Jane Doe</h1>
<h2>Web Developer & Designer</h2>
</header>
<section>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Woman_1.jpg/250px-Woman_1.jpg" alt="Profile Image" class="profile-img">
</section>
<section>
<p>Welcome to my profile! I specialize in creating mobile-first, responsive websites that look great on any device. My focus is on performance, accessibility, and clean design.</p>
</section>
<section>
<form>
<input type="text" placeholder="Your Name">
<input type="email" placeholder="Your Email">
<textarea placeholder="Your Message"></textarea>
<button type="submit">Send Message</button>
</form>
</section>
</body>
</html>
Wszystkie lekcje w sekcji Praktyczny frontend
2Strategia mobile-first
Co oznacza „mobile-first”Typografia w podejściu mobile-firstNawigacja w podejściu mobile-firstObrazy w podejściu mobile-firstFormularze w podejściu mobile-firstWyzwanie podsumowujące5Komponenty interfejsu użytkownika
Menu rozwijaneKartyOdznakiPodpowiedziBanery powiadomieńWyzwanie podsumowującePoćwicz samodzielnie: Edytor online Web