Question

I am trying to create a navigation bar that is horizontal although display:inline-block; isnt working for me. On Google Chrome and IE it still appears vertically.

This is my HTML.

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Clowning Around</title>
        <link rel="stylesheet" href="style.css">
        <meta charset="utf-8">
    </head>
    <div id="header">
          <div class="wrap">
               <div class="logo">
                    !# insert logo picture
               </div>
    <div id ="content">
               <ul id="nav">
                        <li><a href="/home/">Home</a></li>
                        <li><a href="/about/">About Us</a></li>
                        <li><a href="/news/">News & Events</a></li>
                        <li><a href="/classes/">Classes & Camps</a></li>
                        <li><a href="/gallery/">Gallery</a></li>
                        <li><a href="/contact/">Contact us</a></li>
                        <li><a href="/enrol/">Enrol Now</a></li>
                </ul>
          </div>

This is my CSS

#content {
   width: 40em;
   margin: 0 auto;
   padding: 40px 0; 
}

ul#nav {
    position: absolute;
    right: 50%; 
    left: 50%;
    list-style: none;
    margin: 0;
    padding: 0;

}

ul#nav li a {
    float: left;
    display: inline-block;
    padding: 8px 5px 3px 5px;
    margin-right: 5px;
    background-color: #034a7f; 
    text-decoration: none; 
    padding: .2em 1em;
Was it helpful?

Solution

Try this css :

#content {
   width: 40em;
   margin: 0 auto;
   padding: 40px 0; 
}

ul#nav {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;

}

ul#nav li  {
    position: relative;
    float: left;
    display: inline-block;
    padding: 8px 5px 3px 5px;
    margin-right: 5px;
    background-color: #034a7f; 
    text-decoration: none; 
    padding: .2em 1em;
}

OTHER TIPS

you need to set float:left; to the <li>

http://jsfiddle.net/ySE2V/

ul#nav li {
    float: left;
}
ul#nav li a {
    display: inline-block;
    padding: 8px 5px 3px 5px;
    margin-right: 5px;
    background-color: #034a7f; 
    text-decoration: none; 
    padding: .2em 1em;
}

ul
{
  list-style-type:none;
  margin:0;
  padding:0;
  overflow:hidden;
}
li
{
  float:left;
}
a
{
  display:block;
  padding: 8px 5px 3px 5px;
  margin-right: 5px;
  background-color: #034a7f; 
}

You can try below code:

Working Demo

#content {
  width: 50em;
  margin: 0 auto;
  padding: 40px 0; 
}

ul#nav {

  right: 50%; 
  left: 50%;
  list-style: none;
  margin: 0;
  padding: 0;

}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top