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 How to Make a Website Responsive Web Design and Testing Adjust the Profile Page and Header

Shazad Kazi
Shazad Kazi
10,758 Points

Navigation layout problem: greater 660px, contact page navigation link goes under the About navigation link.

When the width of the screen is greater than 660px, the link for the contact drops under the About, so there are 2 lines of navigation (Portfolio About) then on a line below (Contact), It stays like that for approximately 10 - 15 px, after which it reverts back to a single line navigation.

Code I have used for the media query CSS part. If you need any more bits of code, feel free to ask.

nav { background: none; float:right; font-size:1.125em; margin-right:5%; text-align:right; width:45%; }

I would need to see more code please.

Shazad Kazi
Shazad Kazi
10,758 Points

Main.css file

/**********************************
GENERAL
***********************************/
body {
 font-family: 'Open Sans', sans-serif;
}

#wrapper {
  max-width: 940px;
  margin: 0 auto;
  padding: 0 5%;
}

a {
  text-decoration: none;
}

img {
 max-width: 100%; 
}

/**********************************
HEADING
***********************************/
header {
 float:left;
  margin: 0 0 30px 0;
  padding: 5px 0 0 0;
  width:100%;
}


#logo {
  text-align: center;
  margin: 0;
}

h1 {
  font-family: 'Changa One' sans-serif;
  margin: 15px 0;
  font-size: 1.75em;
  font-weight: normal;
  line-height:0.8em;
}

h2 {
  font-size:0.75em;
  margin:-5px 0 0;
  font-weight: normal;
  }

h3 {
 margin: 0 0 1em 0;

}

/**********************************
NAVIGATION
***********************************/
nav {
  text-align: center;
  padding:10px 0;
  margin: 20px 0 0;
}

nav ul {
 list-style: none;
  margin: 0 10px;
  padding: 0;
  }

nav li {
  display: inline-block;
}

nav a {
 font-weight:800;
  padding:15px 10px;
}
/**********************************
FOOTER
***********************************/
footer {
 font-size:0.75em;
  text-align:center;
  clear:both;
   padding-top:50px;
  color:#ccc;
}

.social-icon {
  width:20px;
  height:20px;
  margin:0 5px;
}
/**********************************
PORTFOLIO
***********************************/
#gallery {
  margin:0;
  padding: 0;
  list-style: none;
}

#gallery li {
 float:left;
  width: 45%;
  margin: 2.5%;
  background-color:#f5f5f5;
  color:#bdc3c7;
}

#gallery li a p {
 margin:0;
  padding:5%;
  font-size:0.75em;
  color:#bdc3c7;
}
/**********************************
PAGE: ABOUT
***********************************/
.profile-photo {
 display:block;
  max-width:150px;
  margin: 0 auto 30px;
  border-radius:100%;
}


/**********************************
PAGE: CONTACT
***********************************/

.contact-info {
 list-style:none;
  padding:0;
  margin:0;
  font-size:0.9em;
}

.contact-info a{
 display:block;
  min-height:20px;
  background-repeat:no-repeat;
  background-size:20px 20px;
  padding:0 0 0 30px;
  margin:0 0 10px;
  }
.contact-info li.phone a{
 background-image: url('../img/phone.png') 
}

.contact-info li.mail a{
 background-image: url('../img/mail.png') 
}

.contact-info li.twitter a{
 background-image: url('../img/twitter.png') 
}

/**********************************
COLORS
***********************************/

/* site body */
body {
  background-color: #fff;
  color: #999;
}

/* green header */
header {
  background: #6ab47b;
  border-color: #599a68;
}

/* nav background on mobile */
nav {
  background: #599a68;
}

/* logo text */
h1, h2 {
  color: #fff;
}

/* links */
a {
  color: #6ab47b;
}

/* nav link */
nav a, nav a:visited {
  color: #fff;
}

/* selected nav link */
nav a.selected, nav a:hover {
  color: #32673f;
}

The responsive CSS file

@media screen and (min-width: 480px) {


  /**********************************
  PAGE: CONTACT -TWO COLUMN LAYOUT
  ***********************************/
  #primary {
   width:50%;
    float:left;

  }
  #secondary {
   width:40%;
    float:right;   
  }

    /**********************************
  PAGE: PORTFOLIO
  ***********************************/

  #gallery li {
   width:28.3333%; 
  }

  #gallery li:nth-child(4n){
  clear:left;
}

    /**********************************
  PAGE:   ABOUT
  ***********************************/

  .profile-photo {
    float:left;
    margin:0 5% 80px 0;

}
}


@media screen and (min-width: 660px) {


      /**********************************
  PAGE:   HEADER
  ***********************************/

  nav {
   background: none;
    float:right;
    font-size:1.125em;
    margin-right:5%;
    text-align:right;
    width:45%;
  }

  #logo {
   float:left;
    margin-left:5%;
    text-align:left;
     width:45%;
      }

  h1 {
   font-size:2.5em;
      }

  h2 {
   font-size:0.825em;
      margin-bottom:20px;
  }

  header {
   border-bottom: 5px solid #599a68;
    margin-bottom: 60px;
  }
}

Index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Shazad Kazi | Designer</title>
    <link rel="stylesheet" href="css/normalize.css">
    <link href='http://fonts.googleapis.com/css?family=Changa+One|Open+Sans:400italic,700italic,400,700,800' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" href="css/main.css">
     <link rel="stylesheet" href="css/responsive.css">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  </head>
  <body>
    <header>
      <a href="index.html" id="logo">
        <h1>Shazad Kazi</h1>
        <h2>Designer</h2>
      </a>
      <nav>
        <ul>
          <li><a href="index.html" class="selected">Portfolio</a></li>
          <li><a href="about.html">About</a></li>
          <li><a href="contact.html">Contact</a></li>
        </ul>
      </nav>
    </header>
    <div id="wrapper">
      <section>
        <ul id="gallery">
          <li>
            <a href="img/numbers-01.jpg">
              <img src="img/numbers-01.jpg" alt="">
              <p>Experimentation with color and texture.</p>
            </a>
          </li>
          <li>
            <a href="img/numbers-02.jpg">
              <img src="img/numbers-02.jpg" alt="">
              <p>Playing with blending modes in Photoshop.</p>
            </a>
          </li>
          <li>
            <a href="img/numbers-06.jpg">
              <img src="img/numbers-06.jpg" alt="">
              <p>Trying to create an 80's style of glows.</p>
            </a>
          </li>
          <li>
            <a href="img/numbers-09.jpg">
              <img src="img/numbers-09.jpg" alt="">
              <p>Drips created using Photoshop brushes.</p>
            </a>
          </li>
          <li>
            <a href="img/numbers-12.jpg">
              <img src="img/numbers-12.jpg" alt="">
              <p>Creating shapes using repetition.</p>
            </a>
          </li>
        </ul>
      </section>
      <footer>
        <a href="http://twitter.com/nickrp"><img src="img/twitter-wrap.png" alt="Twitter Logo" class="social-icon"></a>
        <a href="http://facebook.com/nickpettit"><img src="img/facebook-wrap.png" alt="Facebook Logo" class="social-icon"></a>
        <p>&copy; 2015 Shazad Kazi.</p>
      </footer>
    </div>
  </body>
</html>
Shazad Kazi
Shazad Kazi
10,758 Points

If you need anything else let me know but I believe this should suffice. The main css Responsive css and the index of the site.

Thanks again

1 Answer

Kalen Loncar
Kalen Loncar
8,743 Points

Try this on for size.

In #nav in responsive.css, change:

width: 52.5%; DELETE/comment out: margin-right;

In #logo, change:

width: 42.5%

I tried messing with the percentages and it worked for me. Not sure it will for you as your name may be a different length. I also had to change the font size of my name to 2.25em because it was causing issues. Not sure if that changes anything.

If you download Nick's source code, his website does the same. This may fix it for all! Let me know!

@media screen and (min-width: 660px) {

    /********************************
    PAGE: HEADER
    ********************************/

    nav {
        background: none;
        float: right;
        font-size: 1.125em;
        /*margin-right: 0%;*/
        text-align: right;
        width: 52.5%;
    }

    #logo {
        float: left;
        margin-left: 5%;
        text-align: left;
        width: 42.5%;
    }

    h1 {
        font-size: 2.25em;
    }

    h2 {
        font-size: 0.825em;
        margin-bottom: 20px;
    }

}