Menu
Coddy logo textTech

CSS transition

Part of the JavaScript in Action section of Coddy's HTML journey. Lesson 23 of 27.

challenge icon

Challenge

Easy

Add a smooth animation for the side navigation when it opens and closes:

  1. In the CSS for the side navigation, add the transition property.
  2. Set it so that changes to the width property happen smoothly over 0.3-0.5 seconds.

This will make the navigation slide in and out smoothly when the buttons are clicked.

Try it yourself

<!DOCTYPE html>
<html>
<head>
  <title>Space Exploration</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div id="sideNav" class="sidenav">
    <button id="closeBtn" class="close-btn">&times;</button>
    <a href="#apollo">Apollo Missions</a>
    <a href="#iss">International Space Station</a>
    <a href="#mars">Mars Rovers</a>
    <a href="#jameswebb">James Webb Telescope</a>
  </div>

  <header>
    <button id="openBtn" class="open-btn">&#9776; Menu</button>
    <h1>Space Exploration</h1>
  </header>

  <main>
    <section id="apollo">
      <h2>Apollo Missions</h2>
      <p>
        The Apollo program, carried out by NASA in the 1960s and 1970s, 
        successfully landed humans on the Moon for the first time in 1969.
      </p>
    </section>

    <section id="iss">
      <h2>International Space Station</h2>
      <p>
        The ISS is a multinational research laboratory in low Earth orbit, 
        continuously inhabited since 2000 by astronauts and scientists.
      </p>
    </section>

    <section id="mars">
      <h2>Mars Rovers</h2>
      <p>
        Rovers like Spirit, Opportunity, Curiosity, and Perseverance 
        have been exploring the Martian surface, searching for signs of past life.
      </p>
    </section>

    <section id="jameswebb">
      <h2>James Webb Space Telescope</h2>
      <p>
        Launched in 2021, the James Webb Telescope is providing 
        breathtaking images of the universe and studying distant galaxies.
      </p>
    </section>
  </main>

  <script src="script.js"></script>
</body>
</html>

All lessons in JavaScript in Action

Practice on your own: Web playground