CSS CSS Layout The CSS Box Model Padding, Borders, and Margins

Trinity Shelly
Trinity Shelly
2,926 Points

target the section

im not sure how to add the class after the element

style.css
/* Complete the challenge by writing CSS below */
header {
  padding-top: 20px;
  padding-bottom: 25px;
  border-bottom: 10px solid orange;
  padding: 1rem
}
index.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Developer Diane's blog</title>
  <link rel="stylesheet" href="page.css">
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <header>
    <div id="logo">Developer Diane’s Blog</div>
  </header>
  <article>
    <section class="intro">
      <h1>The verdict is in. CSS Layout is great!</h1>
      <p>I’ve been working with CSS for a while now, and I have to say, it’s pretty awesome. I love being able to separate content from presentation, and to keep all my styles in an external stylesheet.</p>
      <p>I’ve had a pretty good grasp on the basics for a while now, but I needed to learn more about how to control layout with my CSS. Understanding CSS layout meant first exploring the parts of the CSS box model.</p>
    </section>
    <section class="featured">
      <h2>The CSS Box Model</h2>
      <p>There are lots of great resources online to help you learn the CSS Box Model. I like the CSS Tricks article <a href="https://css-tricks.com/the-css-box-model/" target="_blank">The CSS Box Model</a> by Chris Coyier. To quote the author:</p>
      <blockquote>At the risk of over-repeating myself: <strong>every element in web design is a rectangular box.</strong></blockquote>
      <p>That’s right! Every HTML element is considered by the browser to be a rectangular box.</p>
      <p>The CSS Box Model consists of four properties: content, padding, border, and margin. I've included a graphic from Coyier’s article to illustrate this principle.</p>
      <p class="clear">It’s pretty easy to understand the Content portion of the box model. The content is whatever your HTML consists of. It could be a paragraph full of text, or a bulleted list, or an image.</p>
      <p>Beginning developers may have some trouble keeping the other parts of the box model straight, so let’s examine them one by one.</p>
    </section>
    <footer>©2020 Developer Diane.</footer>
</body>
</html>
Trinity Shelly
Trinity Shelly
2,926 Points

Target the section element with the class intro. Set the padding on all 4 sides to 1rem.

I thought it was

header { padding-top: 20px; padding-bottom: 25px; border-bottom: 10px solid orange; }

section { padding: 0px 1rem 0px; }

2 Answers

Cameron Childres
MOD
Cameron Childres
Treehouse Moderator 10,935 Points

Hi Trinity,

section { padding: 0px 1rem 0px; } will target ALL section elements on the page and set their right and left padding to 1rem. To target just the section with the class "intro" we'll use a period before intro:

.intro {
}

This way the section with the "feature" class will not be affected.

From here we want to set the padding on all 4 sides to 1rem. Using the shorthand for padding you only need one value to affect all 4 sides:

.intro {
    padding: 1rem;
}

Hope this helps! Let me know if you have any questions.