Thử thách ôn tập
Thuộc phần Thực hành frontend trong hành trình HTML của Coddy. Bài học 11 trên 35.
Thử thách
DễBạn được cung cấp một trang HTML hồ sơ người dùng. Nhiệm vụ của bạn là áp dụng các nguyên tắc thiết kế ưu tiên thiết bị di động để trang có khả năng thích ứng hoàn toàn. Hãy làm theo các hướng dẫn sau:
1. Điều hướng ưu tiên thiết bị di động
- Trên màn hình lớn hơn, hiển thị danh sách điều hướng và ẩn nút menu.
2. Kiểu chữ ưu tiên thiết bị di động
- Tạo một biến CSS
--body-font-size: 16pxvà áp dụng biến này cho phần thân trang. Đây sẽ là cỡ chữ cơ sở cho màn hình nhỏ.
3. Hình ảnh ưu tiên thiết bị di động
- Dùng thẻ
<picture>để cung cấp các kích thước hình ảnh khác nhau cho màn hình di động và màn hình lớn hơn. - Dùng thẻ
<source>vớisrcsettrỏ đến hình ảnh lớn hơn, ví dụ:https://upload.wikimedia.org/wikipedia/commons/1/1f/Woman_1.jpg. - Thêm
media="(min-width: 768px)"để áp dụng cho màn hình lớn hơn. - Đảm bảo hình ảnh hồ sơ co giãn phù hợp với chiều rộng màn hình.
4. Biểu mẫu ưu tiên thiết bị di động
- Đặt chiều rộng của tất cả các trường nhập liệu và nút gửi thành
100%để chúng chiếm toàn bộ chiều rộng và dễ chạm.
Trang cần trông gọn gàng, dễ đọc và thân thiện với người dùng trên cả màn hình di động lẫn máy tính. Điều chỉnh khoảng cách, căn chỉnh và kích thước thích ứng để mọi thứ trông cân đối.
Tự làm thử
<!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>
Tất cả bài học trong Thực hành frontend
2Chiến lược ưu tiên thiết bị di động
Ưu tiên thiết bị di động nghĩa là gìKiểu chữ ưu tiên thiết bị di độngĐiều hướng ưu tiên thiết bị di độngHình ảnh ưu tiên thiết bị di độngBiểu mẫu ưu tiên thiết bị di độngThử thách ôn tậpTự luyện tập: Playground Web