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 Layout Techniques Flexbox Layout Flexbox Layout Challenge

flexbox code challenge

The question is asking "Finally, let's reverse the column order by giving secondary the flexbox property and value that moves it to the beginning of the row."

I don't know why it is wrong...can some one help.

Thank you,

index.html
<!DOCTYPE html>
<html>
<head>
    <title>Flexbox</title>
    <link rel="stylesheet" href="page.css">
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="main-wrapper">
        <header class="main-header">
            <ul class="main-nav">
                <li class="main-logo"><h1><a href="#">My Work</a></h1></li>
                <li><a href="#">Design</a></li>
                <li><a href="#">Coding</a></li>
                <li><a href="#">Writing</a></li>
                <li><a href="#">Hire Me!</a></li>
            </ul>
        </header>
        <div class="content-row">
            <div class="primary col">
                <h1>I'm a Designer</h1>
                <p>I design beautiful user interfaces, then bring them to life with HTML, CSS, and JavaScript. I love including personal photographs of nature, people and everyday things in my designs.</p>
                <p>If you need a front-end designer for your next project, <a href="#">take a look at my work</a>, then <a href="#">get in touch</a>!</p>
            </div>
            <div class="secondary col">
                <h2>I Also Write</h2>
                <p>I like teaching others about the latest web in technology. So when I'm not designing or coding websites &amp; apps, you'll find me writing <a href="#">articles for my blog</a>.</p>
            </div>
        </div>
    </div>
</body>
</html> 
style.css
@media (min-width: 611px) {

    /* Complete the challenge by writing CSS below */
.main-nav {
  display: flex;
}

  .main-nav li {
    flex-grow: 1;
  }

  .content-row {
    display: flex;
  }

  .secondary {
    display: flex;
    order: -1;
  }

}

3 Answers

Jonathan Grieve
MOD
Jonathan Grieve
Treehouse Moderator 91,253 Points

It's because you've left your display: flex propery in your selector with the class of secondary.

Take that out and you'll be good to go. :-)

yes...it's work!! Thank you,

geoffrey
geoffrey
28,736 Points

Hi Edwin, you don't need to apply the property display with the flex value on the .secondary class, as It's a flex item (its parent has already the property display with the flex value applied). Remove this, and that should work.

Otherwise, you could as well put .content-row on the same line as .main-nav as they share the same css rules. (minor thing here but that's good practice).

Here is the css

@media (min-width: 611px) {

    /* Complete the challenge by writing CSS below */
  .main-nav,.content-row{
   display:flex; 
  }

  .main-nav li{
   flex-grow:1; 
  }

  .secondary{
   order:-1;
  }

}

got it...Thank you,

Jonathan Grieve
MOD
Jonathan Grieve
Treehouse Moderator 91,253 Points

It's because you've left your display: flex propery in your selector with the class of secondary.

Take that out and you'll be good to go. :-)