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 Responsive Layouts Responsive Patterns Flexbox

What was the point of the .nav rule in main.css?

I was trying to understand how the justify-content was being used in the code but completely commenting out the rule seems to not change anything in the navigation section.

1 Answer

Hey Kirt Perez,

I played around with the css a bit and found where this rule is taking affect. If you look at the media query for 640px, you'll notice the flex direction is changed from column to row. So, at 640px the justify-content: space-around rule and flex: 1 rule are being applied. To avoid these kind of issues, if I were coding this myself, I would have put those rules inside the media query. I'm not sure if there is a reason it was done this way, but the results are the same, if a bit more confusing.

Hope this helps. Happy coding!

This module 'Responsive Layouts' didn't really teach all too much about justify-content but I'm hoping that we go deeper into it in the 'Flexbox' module that's after this. Is the justify-content property only relevant when the main axis is horizontal, or in other words, only relevant to the row direction? I see how the .header and .nav class with their justify-content property is moving the navigation in some way at the 640px and 1030px mark.

Kirt Perez There are more in-depth lessons over layout coming in the techdegree, you'll dive into flexbox, grid, floats...lots of things. This is more introductory than anything. But, to your point, justify-content affects flex items along the main axis of the flex container. So if row is being used, the main axis spans the width of the container. If the flex direction is column, the main axis spans the height of the column. The flex property align-items affects positioning along the cross axis of the flex container. CSS Tricks has a fantastic guide to all things flex-box. It's pretty easy to use once you dig in a bit.

Best of luck!