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

Adam Johnson
Adam Johnson
4,180 Points

/* Complete the challenge by writing CSS below */ .header { padding: 20px 25px; } Padding isn't working

Challenge: Set the top padding to 20px and bottom to 25px

style.css
/* Complete the challenge by writing CSS below */
.header {
   padding: 20px 25px; 
}
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>
Paul Sexley
Paul Sexley
5,567 Points

You do not have the name of the ".header" class in your markup. You can rather use header {} or ID attribute #logo in your stylesheet.

Do not forget the clockwise notation while creating your padding.

1 Answer

Thomas Davidson
Thomas Davidson
7,108 Points

You have selected a class called header rather than selecting the header element. Remove the period before header to fix this.

You also currently have the top and bottom padding set to 20px and the left and right padding set to 25px. Change your css like below to fix this.

header {
   padding: 20px 0px 25px; 
}
Adam Johnson
Adam Johnson
4,180 Points

Thanks, that definitely clears things up. As for only using two variables, I thought that if you use a short-hand method of two, that it modifies "top", "bottom".

Thomas Davidson
Thomas Davidson
7,108 Points

When using the short-hand method with only two variables, the first vaariable will apply to the top and bottom while the second variable you input will apply to the left and right.

If you use 3 inputs, then the first applies to top, the second applies to left and right and the third now goes to bottom.