2
votes

I'm having trouble with the following:

  • I'd like a 8px padding on top and bottom of the navbar.
  • Title to be left aligned.
  • Links to be right aligned.
  • navbar to be 100% wide background but 1080px wide (centered)
  • drop down menu to only have a horizontal border dividing each link
  • and padding from the drop down menu to be 4px top and bottom and indented 4px

Here's a link to my jsfiddle: http://jsfiddle.net/6L8jJ/

HTML

<header>

  <div class="nav_top_bar">
    <nav class="nav_top_menu">
      <ul>
        <li class="nav_top_title"><b>title</b></li>
        <li><a href="" class="blue">option</a>
          <ul>
            <li><a href="" class="blue">suboption</a></li>
          </ul>
        </li>
        <li><a href="" class="green">option</a>
          <ul>
            <li><a href="" class="green">suboption 1</a></li>
            <li><a href="" class="green">suboption 2</a></li>
          </ul>
        </li>  
        <li><a href="" class="orange">option</a>
          <ul>
            <li><a href="">suboption 1</a></li>
            <li><a href="">suboption 2</a></li>
          </ul>
        </li>
        <li><a href="" class="purple">option</a></li>
        <li><a href="" class="yellow">option</a></li>
      </ul>
    </nav>
  </div>

</header>

CSS

.nav_top_bar {
 background-color: #333333;
 padding: 8px 0;
 width: 100%;
clear: both;
}

.nav_top_menu {
color: #c3c3c3;
font-size: 1em;
margin: 0 auto;
text-align: left;
width: 1080px;
}

.nav_top_title {
padding-right: 50px;
}

.nav_top_menu ul {
list-style: none;
text-align: left;
margin: 0;
padding: 0;
}

.nav_top_menu ul li {
display: inline;
float: left;
position: relative;
}

.nav_top_menu ul li a {
color: #c3c3c3;
display: block;
margin-left: 1px;
/* padding: 8px 16px; */
padding: 8px 20px 8px 0px;
white-space: nowrap;
}

.nav_top_menu ul li a:hover {
color: #ffffff;
}

.nav_top_menu li ul {
background-color: #333;
display: none;
}

.nav_top_menu li:hover ul {
border-top: 1px #ccc solid;
border-left: 1px #ccc solid;
border-right: 1px #ccc solid;
display: block;
position: absolute;
}

.nav_top_menu li:hover li {
border-bottom: 1px #ccc solid;
float: none;
font-size: 0.8em;
font-weight: bold;
padding-left: 4px;
text-align: left;
}
1

1 Answers

0
votes

You'll have to play with a little more CSS to get the style exact but I think this is the direction you're looking to go:

http://jsfiddle.net/6L8jJ/1/

<header>

  <div class="nav_top_bar">
    <nav class="nav_top_menu">
      <ul>
        <li><a href="" class="blue">option</a>
          <ul>
            <li><a href="" class="blue">suboption</a></li>
          </ul>
        </li>
        <li><a href="" class="green">option</a>
          <ul>
            <li><a href="" class="green">suboption 1</a></li>
            <li><a href="" class="green">suboption 2</a></li>
          </ul>
        </li>  
        <li><a href="" class="orange">option</a>
          <ul>
            <li><a href="">suboption 1</a></li>
            <li><a href="">suboption 2</a></li>
          </ul>
        </li>
        <li><a href="" class="purple">option</a></li>
        <li><a href="" class="yellow">option</a></li>
      </ul>
    </nav>
    <h1>Title</h1>
  </div>

</header>

And the CSS

.nav_top_bar {
  background-color: #333333;
  padding: 8px;
  width: 100%;
}
h1 {
    font-size: 14px;
    color: #fff;
}
nav {
    float: right;
}
.nav_top_menu ul {
  list-style-type: none;
  text-align: left;
  margin: 0;
  padding: 0;
}
.nav_top_menu ul li {
  display: inline;
  float: left;
  position: relative;
}
.nav_top_menu ul li > ul li {
  display: block;
  padding: 8px;
}
.nav_top_menu ul li > ul li a {
  display: inline;
}
.nav_top_menu ul li a {
  color: #c3c3c3;
  display: block;
  margin-left: 1px;
  padding: 8px 20px 8px 0px;
  white-space: nowrap;
}
.nav_top_menu ul li a:hover {
  color: #ffffff;
}
.nav_top_menu li ul {
  background-color: #333;
  display: none;
}
.nav_top_menu li:hover ul {
  border: 1px #ccc solid;
  display: block;
  position: absolute;
}
.nav_top_menu li:hover li {
  border-bottom: 1px #ccc solid;
  float: none;
  font-size: 0.8em;
  font-weight: bold;
  padding-left: 4px;
  text-align: left;
}