Search code examples
csshtmlmedia-queries

float left moving wrong to place


I am improving my css skills on w3schools, my question is what is the reason .col-2 is under .col-6?

Isn't it suppose to be under .col-3?

I have put float left so .col-2 should go under .col-3, for over 1 hour looking for reason.

The code will not run until you click the "Run" button in the Tryit Editor.


Solution

  • change col-2 and col-3 to this:

    .col-3{
      float: left;
      padding: 0 15px;
    }
    .col-2{
      float: left;
      padding: 0 15px;    
      clear: left;
    }
    

    * {
      box-sizing: border-box;
    }
    
    .row::after {
      content: "";
      clear: both;
      display: table;
    }
    
    .col-3 {
      float: left;
      padding: 0 15px;
    }
    
    .col-2 {
      float: left;
      padding: 0 15px;
      clear: left;
    }
    
    html {
      font-family: "Lucida Sans", sans-serif;
    }
    
    .header {
      background-color: #9933cc;
      color: #ffffff;
      padding: 15px;
    }
    
    .menu ul {
      list-style-type: none;
      margin: 0;
      padding: 0;
    }
    
    .menu li {
      padding: 8px;
      margin-bottom: 7px;
      background-color: #33b5e5;
      color: #ffffff;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    }
    
    .menu li:hover {
      background-color: #0099cc;
    }
    
    .aside {
      background-color: #33b5e5;
      padding: 15px;
      color: #ffffff;
      text-align: center;
      font-size: 14px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    }
    
    .footer {
      background-color: #0099cc;
      color: #ffffff;
      text-align: center;
      font-size: 12px;
      padding: 15px;
    }
    
    
    /* For mobile phones: */
    
    [class*="col-"] {
      width: 100%;
    }
    
    @media only screen and (min-width: 768px) {
      /* For desktop: */
      .col-1 {
        width: 8.33%;
      }
      .col-2 {
        width: 16.66%;
      }
      .col-3 {
        width: 25%;
      }
      .col-4 {
        width: 33.33%;
      }
      .col-5 {
        width: 41.66%;
      }
      .col-6 {
        width: 50%;
      }
      .col-7 {
        width: 58.33%;
      }
      .col-8 {
        width: 66.66%;
      }
      .col-9 {
        width: 75%;
      }
      .col-10 {
        width: 83.33%;
      }
      .col-11 {
        width: 91.66%;
      }
      .col-12 {
        width: 100%;
      }
    }
    <div class="header">
      <h1>Chania</h1>
    </div>
    
    <div class="row">
      <div class="col-3 menu">
        <ul>
          <li>The Flight</li>
          <li>The City</li>
          <li>The Island</li>
          <li>The Food</li>
        </ul>
      </div>
    
      <div class="col-6">
        <h1>The City</h1>
        <p>Chania is the capital of the Chania region on the island of Crete. The city can be divided in two parts, the old town and the modern city.</p>
      </div>
    
      <div class="col-2">
        <div class="aside">
          <h2>What?</h2>
          <p>Chania is a city on the island of Crete.</p>
          <h2>Where?</h2>
          <p>Crete is a Greek island in the Mediterranean Sea.</p>
          <h2>How?</h2>
          <p>You can reach Chania airport from all over Europe.</p>
        </div>
      </div>
    </div>
    
    <div class="footer">
      <p>Resize the browser window to see how the content respond to the resizing.</p>
    </div>