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) Basic Layout Styling the "Wildlife" div with Background Properties

Padding and Border width and heights question.

I'm confused on this question about padding and border. Can someone help?

style.css
/* Complete the challenge by writing CSS below */
.wildlife {
  background: url('img/bear.jpg') no-repeat center;
  background-size: cover;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 10px;
  border-bottom: 10px;

}
index.html
<!DOCTYPE html>
<html>
  <head>
    <title>Lake Tahoe</title>
    <link rel="stylesheet" href="page.css">
    <link rel="stylesheet" href="style.css">
  </head>
  <body> 
        <div class="primary-content t-border">
            <p class="intro">
                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 class="callout" href="#more">Find out more</a>
      <div class="wildlife">
        <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 <a href="#mink">mink</a>, <a href="#bears">bears</a>, and <a href="#eagles">bald eagles</a>.
        </p>
      </div><!-- End .wildlife -->
            <a class="callout" href="#wildlife">See the Wildlife</a>
        </div><!-- End .primary-content -->
  </body>
</html>

1 Answer

LaVaughn Haynes
LaVaughn Haynes
12,397 Points

The question:

Finally, give .wildlife the property and value that forces any padding and border widths into its total width and height.

It's asking you to use a property that effects how the box size is calculated

Take a div element with a width of 100px.

/* acutal width 100px */
div{
  width: 100px;
}

If you set the width of an element, the padding and border aren't calculated into that width by default. Those dimensions are added to the width. So, if you set the padding on the div to 10px then the actual width will be 10px + 100px + 10px = 120px. (left padding + content width + right padding)

div{
/* actual width 120px */
  width: 100px;
  padding: 10px;
}

The question is asking you to set the box-sizing property. Setting it to border-box will cause any border or padding to be calculated as part of the size of the div rather than added to it. Adding a 10px padding to the div would result in the content area of the box being reduced by 20px. The actual width would be 10px + 80px + 10px = 100px

div{
/* actual width 100px */
  width: 100px;
  padding: 10px;
  box-sizing: border-box;
}