Menu
CoddyTech

Ưu tiên thiết bị di động

Thuộc phần Thực hành frontend trong hành trình HTML của Coddy. Bài học 18 trên 35.

challenge icon

Thử thách

Dễ

Hiện tại, trang sử dụng các thẻ <img> đơn giản. Để tối ưu cho thiết bị di động và thích ứng tốt hơn, hãy cải thiện chúng.

Nhiệm vụ của bạn:

  1. Thay thẻ <img> trong phần ảnh chính bằng thẻ <picture>.
  2. Bên trong <picture>, hãy thêm:
    • Một <source> dành cho màn hình lớn hơn (min-width: 768px) với giá trị: “https://upload.wikimedia.org/wikipedia/commons/3/32/Parachuting_sport.jpg”
    • Một thẻ dự phòng <img> dành cho thiết bị di động với giá trị: “https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Parachuting_sport.jpg/960px-Parachuting_sport.jpg”

Tự làm thử

<!DOCTYPE html>
<html>
<head>
  <title>Extreme Sports Adventures</title>
<style>
  /* === Variables for Theming === */
  :root {
    --primary-color: #ff4d4f;
    --secondary-color: #333;
    --bg-color: #f7f7f7;
    --text-color: #222;
    --card-bg: #ffffff;
  }

  body {
    margin: 0;
    background-color: var(--bg-color);
    color: var(--text-color);
    line-height: 1.6;
  }

  header {
    text-align: center;
    padding: 2rem 1rem;
    background-color: var(--primary-color);
    color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  }

  header h1 {
    font-size: 2.2rem;
    margin-bottom: 0.5rem;
  }

  header p {
    margin: 0;
    font-size: 1.1rem;
  }

  main {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  .hero {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  }

  .hero img {
    width: 100%;
    height: 350px;
    object-fit: cover;
  }

  .description, .facts {
    background-color: var(--card-bg);
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }

  .description h2, .facts h2 {
    margin-top: 0;
  }

  .btn {
    display: inline-block;
    margin-top: 1rem;
    padding: 10px 20px;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    border-radius: 8px;
    transition: transform 0.3s, background-color 0.3s;
  }

  .btn:hover {
    background-color: var(--primary-color);
    transform: scale(1.05);
  }

  ul {
    padding-left: 20px;
  }
</style>
</head>
<body>
<header>
  <h1>Extreme Sports Adventures</h1>
  <p>Feel the adrenaline with the world's most thrilling sports!</p>
</header>

<main>
  <section class="hero">
    <img src="https://upload.wikimedia.org/wikipedia/commons/3/32/Parachuting_sport.jpg" alt="Skydiving">
  </section>

  <section class="description">
    <h2>What is Extreme Sports?</h2>
    <p>Extreme sports are activities that involve high risks and adrenaline. From skydiving and rock climbing to snowboarding and bungee jumping, these sports push your limits and give an unforgettable thrill.</p>
    <a href="#" class="btn">Learn More</a>
  </section>

  <section class="facts">
    <h2>Fun Facts</h2>
    <ul>
      <li>Skydiving reaches speeds over 120 mph during free fall.</li>
      <li>Bungee jumping started as a ritual in Vanuatu called "land diving."</li>
      <li>Rock climbing requires both strength and strategy.</li>
      <li>Snowboarding evolved from surfing and skateboarding.</li>
    </ul>
  </section>
</main>
</body>
</html>

Tất cả bài học trong Thực hành frontend

Tự luyện tập: Playground Web