Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

CSS CSS Basics (2014) Understanding Values and Units Em and Rem Units

The em-based font-size values for .title and h1 are relative to their parent header's font-size value. This causes a com

Can someone please help me I am very confused

style.css
/* Complete the challenge by writing CSS below */

header {
  font-size: 1.8em;
}

.title {
  font-size: 1.625em;
}

h1 {
  font-size: 5.625em;
}
index.html
<!DOCTYPE html>
<html>
  <head>
    <title>Lake Tahoe</title>
    <link rel="stylesheet" href="page.css">
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <header>
      <span class="title">Journey through the Sierra Nevada Mountains</span>
      <h1>Lake Tahoe, California</h1>
    </header>
    <div class="main-content">
      <p>
        Lake Tahoe is one of the most breathtaking attractions located in California. It's home to a number of ski resorts, summer outdoor recreation, and tourist attractions. Snow and skiing are a significant part of the area's reputation.
      </p>
      <a href="#">Find out more</a>
      <h2>Check out all the Wildlife</h2>
      <p>
        As spawning season approaches, the fish acquire a humpback and protuberant jaw. After spawning, they die and their carcasses provide a feast for gatherings of mink, bears, and Bald eagles.
      </p>
      <a href="#">See the Wildlife</a>
      <h3>From Tents to Resorts</h3>
      <p>
        Lake Tahoe is full of wonderful places to stay. You have the ability to sleep in the outdoors in a tent, or relax like a king at a five star resort. Here are our top three resorts:
      </p>
    </div>
    <footer>
      <p>All rights reserved to the state of <a href="#">California</a>.</p>
      <a href="#top">Back to top &raquo;</a>
    </footer>
  </body>
</html>

1 Answer

Gergely Bocz
Gergely Bocz
14,244 Points

Hi Thomas!

There is a problem one can run into when using em units, which is that they compound. It basically means, that elements with their size specified in em unit always check their parent's size, even if their parent has its size in em. It can reach up to the top-most element, the html element. So essentially em is a multiplier, that always multiplies relative to the parent's size.

So for example: If there is html with 16px size, body with 2em size, a div inside body with 2em size, and a h1 tag with 2em size, then the h1 tag will be 16*2*2*2=128px big! It happens because the em unit is always relative to the element's parent.

This problem is solved by using the rem unit, which is always relative to the root element (html). If we take the same example as above, but replacing em with rem, then we get 32px size for not only the body, but also the div and the h1 elements inside!

If you are still in doubt, I suggest rewatching the previous 2 videos leading up to this challenge and checking out the moz dev page, especially the part with the em and rem units, or check out this css tricks article

Hope i could be of help, if you have any more questions, feel free to ask!

Good luck!