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 Basics - Layout Project collapsing problem

I'm having a problem with section 4 of Layout Basics, where you are given the task of creating a site with 3 layouts, small, medium, and large.

The small and large layouts are working fine, but with the medium one things are collapsing. But I have already put the clearfix in the html, and it is clearly working for the large layout, so why is not working for the medium layout?

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Best City Guide</title>
    <link href='https://fonts.googleapis.com/css?family=Varela+Round' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" href="css/normalize.css">
    <link rel="stylesheet" href="css/style.css">
</head>
<body>


    <header class="main-header">
      <div class="container clearfix">
        <h1 class="name"><a href="#">Best City Guide</a></h1>
        <ul class="main-nav">
          <li><a href="#">ice cream</a></li>
          <li><a href="#">donuts</a></li>
          <li><a href="#">tea</a></li>
          <li><a href="#">coffee</a></li>
        </ul>
      </div>
    </header><!--/.main-header-->   


    <div class="banner">
        <img class="logo" src="img/city-logo.svg" alt="City">
        <h1 class="headline">The Best City</h1>
        <span class="tagline">The best drinks and eats in the best city ever.</span>
    </div><!--/.banner-->    


  <div class="container clearfix">
    <div class="secondary col">
      <h2>Welcome!</h2>
      <p>Everything in this city is worth waiting in line for.</p>
      <p>Cupcake ipsum dolor sit. Amet chocolate cake gummies jelly beans candy bonbon brownie candy. Gingerbread powder muffin. Icing cotton candy. Croissant icing pie ice cream brownie I love cheesecake cookie. Pastry chocolate pastry jelly croissant.</p>
      <p>Cake sesame snaps sweet tart candy canes tiramisu I love oat cake chocolate bar. Jelly beans pastry brownie sugar plum pastry bear claw tiramisu tootsie roll. Tootsie roll wafer I love chocolate donuts.</p>
    </div><!--/.secondary-->

    <div class="primary col">
      <h2>Great food</h2>
      <img class="feat-img" src="img/treats.svg" alt="Drinks and eats">
      <p>Croissant macaroon pie brownie. Cookie marshmallow liquorice gingerbread caramels toffee I love chocolate. Wafer lollipop dessert. Bonbon jelly beans pudding dessert sugar plum. Marzipan toffee drag&#233;e chocolate bar candy toffee pudding I love. Gummi bears pie gingerbread lollipop.</p>
    </div><!--/.primary-->

    <div class="tertiary col">
      <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 I love fruitcake toffee pie.</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><!--/.tertiary--> 
  </div>

    <footer class="main-footer">
        <span>&copy;2015 Residents of The Best City Ever.</span>
    </footer>

</body>
</html>
/* ================================= 
  Base Element Styles
==================================== */

* {
    box-sizing: border-box;
}

body {
    font-family: 'Varela Round', sans-serif;
    line-height: 1.6;
    color: #3a3a3a;
}

p {
    font-size: .95em;
    margin-bottom: 1.8em;
}

h2,
h3,
a {
    color: #093a58;
}

h2,
h3 {
    margin-top: 0;
}

a {
    text-decoration: none;
}

img {
    max-width: 100%;
}

/* ================================= 
  Base Layout Styles
==================================== */

/* ---- Navigation ---- */

.name {
    font-size: 1.25em;
        text-align: center;
        margin: 0;
}

.name a,
.main-nav a {
    text-align: center;
}

.main-nav a {
    font-size: .95em;
    color: #3acec2;
    text-transform: uppercase;
        display: block;
}

.main-nav a:hover {
    color: #093a58;
}

/* ---- Layout Containers ---- */

.banner {
    color: #fff;
    background: #3acec2;
        text-align: center;
        padding: 30px 0 30px 0;
        margin-bottom: 20px;
}

.main-footer {
    background: #d9e4ea;
    padding: 2em 0;
    margin-top: 30px;
        text-align: center;
}

/* ---- Page Elements ---- */

.logo {
    width: 190px;
}

.col {
  display: inline-block;
  vertical-align: top;
  padding: 10px 10px 10px 10px;
}

/* ================================= 
  Media Queries
==================================== */


@media (min-width: 650px) {

  .container {
    width: 90%;
    max-width: 1150px;
    margin: 0 auto;
  }

  .name {
    float: left;
    margin: 0;
  }

  .main-nav {
    float: right;
    margin: 0;
  }

  .main-nav li {
    display: inline-block;
    padding: 5px 10px;
  }

  .col {
    float: left;
  }

  .primary, 
  .secondary {
    width: 50%;
  }


@media (min-width: 1100px) {


  .primary {
    width: 40%;
  }

  .secondary, 
  .tertiary {
    width: 30%;
  }

    /* ---- Float clearfix ---- */

    .clearfix::after {
        content: " ";
        display: table;
        clear: both;
    }

}

1 Answer

Nicholas Grenwalt
Nicholas Grenwalt
46,626 Points

In your CSS media queries you have the clearfix assigned only for the larger devices, so it exists only when you reach that larger 1100px break point. If you copy that clearfix and put it into the media query above it that is for the medium screens then it should work. That should do the trick and display on medium screens as well.

You're right, I had included the clearfix in one of the media queries, it all works fine now I've moved it outside the media query.

Thanks for your help.