Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

CSS CSS Flexbox Layout Building a Layout with Flexbox Flexbox Columns Challenge

Nicholas Chetto
Nicholas Chetto
4,221 Points

Then, set the columns to evenly expand and display on one line, with an initial width of 300px.

hello everyone I'm currently having issues. I have re listened to all of the videos and studied hard to them all but still cant seem to figure this out any help would be awesome and greatly appreciated thank you.

style.css
/* Complete the challenge by writing CSS below */

.row {
  display: flex;

}

.columns{
  display: flex;
  flex: 1;
  flex-basis: 0;
  width:300px;
}
index.html
<!DOCTYPE html>
<html>
  <head>
    <title>Flexbox Layout</title>
    <link href='https://fonts.googleapis.com/css?family=Varela+Round' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" href="page.css">
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <div class="row">   
      <div class="secondary column">
        <h2>Welcome!</h2>
        <p>Everything in this city is worth waiting in line for. Cupcake ipsum dolor sit.</p>
        <p>Wafer lollipop dessert. Bonbon jelly beans pudding dessert sugar plum.</p>
      </div>

      <div class="primary column">
        <h2>How to get here</h2>
        <p><strong>Plane: </strong>Tiramisu caramels gummies chupa chups lollipop muffin. Jujubes chocolate caramels cheesecake brownie lollipop drag&#233;e cheesecake.</p>
        <p><strong>Train: </strong>Pie apple pie pudding I love wafer toffee liquorice sesame snaps lemon drops. Lollipop gummi bears dessert muffin.</p>
        <p><strong>Car: </strong>Jelly cotton candy bonbon jelly-o jelly-o I love. I love sugar plum chocolate cake pie I love pastry liquorice.</p>
      </div>

      <div class="tertiary column">
        <h2>Great food</h2>
        <p>Croissant macaroon pie brownie. Cookie marshmallow liquorice gingerbread.</p>
        <p>Wafer lollipop dessert. Bonbon jelly beans pudding dessert sugar plum.</p>
      </div>
    </div>
  </body>
</html>

1 Answer

Hi there, It looks like you had the right idea - both properties you need are in there. Here's what we're doing:

  • if you look in the html file, the class is .column, rather than .columns, so let's take that 's' out
  • we don't need to do display: flex - that indicates a flex container, but we already have the .row with display: flex, so we're good! Our columns are already inside a flex container
  • we need to evenly expand and display on one line - you already did that with flex: 1 :thumbsup:
  • now, we can combine your last two properties - flex-basis represents the initial width, so we just want to take that width value and assign it to flex-basis instead

Here's what we have now:

/* Complete the challenge by writing CSS below */

.row {
  display: flex;

}

.column{
  flex-grow: 1;
  flex-basis: 300px;
}

There's a pretty nice visual guide for flexbox - it has some nice visualizations for what each property actually does.

Good luck!