Peter Jewicz
Peter Jewicz

Reputation: 666

Building a fluid horizontal navigation

I'm trying to build a horizontal navigation using %'s, and I cant seem to figure out whats going on. I have it all set up how I want it, but whenever I specify a size to the A or LI nothing changes, and therefore, I can only see a silver of my background image.

<div id=mainwrap> 

<div id=header> 

    <div id = title>
    <img src="images/hangaquilt.png" width="483" height="78" alt="Hang A Quilt"> 
    </div>

    <div id = cartstatus>
    <p> Your Cart Is Empty </p>
    </div>

      <div id=nav>
        <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">Products</a></li>
        <li><a href="#">Contact Us</a></li>
        <li><a href="#">View Cart</a></li>
        <li><a href="#">Dealers</a></li>
        </ul>
     </div>

</div> 

<div id=bodycontent>

    <div id=sidebar>
    </div>

    <div id=bodytext>
    </div>

</div>

<div id=slideshow>
</div>

<div id=footer>
</div>






</div> 

and the CSS

body {
background-color: rgb(238,225,185);
}

#mainwrap {

margin: 0 auto;
height: 700px;
width: 75%;
max-width:1024px;
min-width:800px;
}

#header {
margin: 0 auto;
margin-top: 3%;
width: 100%;
height: 25%;
}
#header img{
margin-left: 3.3%;
}
#title {
float:left;
width: 55%;
}
#cartstatus{
float: right;
width: 45%;
}

#cartstatus p{
margin-right: 7.1%;
float: right;
}
#nav{
clear: both;
width: 100%;
height: 33%;
font-family:"Rockwell Extra Bold",Trebuchet MS, Arial, Helvetica, sans-serif;

}
#nav ul {
height: 100%;
list-style-type: none;
text-align: center;
}
#nav li{
padding: 0;
width: 20%;
height: 100%;
font-size:18px;
display:inline;
}
#nav ul li a{
background-image: url(../images/navbg.png);
width: 19%;
height: 98%;
color: black;
text-decoration: none;
}

I've done navigation likes this before, and have never had this problem. It's really frustrating as I know it's something really simple that I'm missing.

Upvotes: 0

Views: 391

Answers (1)

Heavy
Heavy

Reputation: 1900

If you define element as "inline", you can't change it's width or height. Instead of

display:inline;

try

display:inline-block;

Here is what you want: http://jsfiddle.net/JmTKb/

Upvotes: 1

Related Questions