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

HTML How to Make a Website CSS: Cascading Style Sheets Style the Basic Elements

centering -- does it use the 'margin' property? I thought it was "text-align: center;".

Challenge Task 2 of 3

Select the ID wrapper, set it to a max width of 940 pixels, and then center it on the page using the margin property.

css/main.css
#wrapper  {
  max-width: 940px;
  margin: 0 auto;
}
index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Nick Pettit | Designer</title>
    <link rel="stylesheet" href="css/normalize.css">
    <link rel="stylesheet" href="css/main.css">
  </head>
  <body>
    <header>
      <a href="index.html" id="logo">
        <h1>Nick Pettit</h1>
        <h2>Designer</h2>
      </a>
      <nav>
        <ul>
          <li><a href="index.html" class="selected">Portfolio</a></li>
          <li><a href="about.html">About</a></li>
          <li><a href="contact.html">Contact</a></li>
        </ul>
      </nav>
    </header>
    <div id="wrapper">
      <section>
        <ul>
          <li>
            <a href="img/numbers-01.jpg">
              <img src="img/numbers-01.jpg" alt="">
              <p>Experimentation with color and texture.</p>
            </a>
          </li>
          <li>
            <a href="img/numbers-02.jpg">
              <img src="img/numbers-02.jpg" alt="">
              <p>Playing with blending modes in Photoshop.</p>
            </a>
          </li>
          <li>
            <a href="img/numbers-06.jpg">
              <img src="img/numbers-06.jpg" alt="">
              <p>Trying to create an 80's style of glows.</p>
            </a>
          </li>
          <li>
            <a href="img/numbers-09.jpg">
              <img src="img/numbers-09.jpg" alt="">
              <p>Drips created using Photoshop brushes.</p>
            </a>
          </li>
          <li>
            <a href="img/numbers-12.jpg">
              <img src="img/numbers-12.jpg" alt="">
              <p>Creating shapes using repetition.</p>
            </a>
          </li>
        </ul>
      </section>
      <footer>
        <a href="http://twitter.com/nickrp"><img src="img/twitter-wrap.png" alt="Twitter Logo"></a>
        <a href="http://facebook.com/nickpettit"><img src="img/facebook-wrap.png" alt="Facebook Logo"></a>
        <p>&copy; 2014 Nick Pettit.</p>
      </footer>
    </div>
  </body>
</html>

The margin: 0 auto aligns the whole div to the center of the parent element meanwhile text-align:center only centers the content itself. I made this quick example to show what do I mean. https://codepen.io/Gonduska/pen/WOJrdG

2 Answers

Ok - thanks. That's helpful. But I'm still not able to give the correct answer ... I wrote :

wrapper {

max-width: 940px; margin: 0 auto; } AND

wrapper {

max-width: 940px; text-align: center; } BUT neither one is correct ... so I'm at a loss.

Actually I did have the hashtags before the wrapper in both attempts - it got cut off when I pasted it here.

Kyle Johnson
Kyle Johnson
33,528 Points

Hi Matt,

I just put this in the challenge and it works but it looks like that is what you had to begin with.

a {
  text-decoration: none;
}
#wrapper {
  max-width: 940px;
  margin: 0 auto;
}

As for you confusion with centering.. check out this site: Centering in CSS: A Complete Guide. There are many ways to center an element based on the display type of the element. Sometimes you might even need to set the parent element to a certain display in order to get use from the text-align property.