user3531084
user3531084

Reputation:

How do I get my menu to drop down? CSS & HTML

I have tried making a drop down menu. I have made simple ones, but cannot seem to get this one to work now, after adding more complex CSS. I am surely missing some line of code somewhere, but not sure where. Does anyone know how to get the SubItems1,2,3,and 4 to drop down from Item3 in my menu?

Menu code

<body>
    <div id = "HorizontalMenu">
    <ul class = "fancyNav">
    <li><a href = "Item1.php" class = "homeIcon">Item1</a></li>
    <li><a href = "Item2.php">Item2</a></li>
    <li><a href= "#">Item3</a>
    <ul>
    <li><a href = "Sub1.php"> SubItem1</a></li><br>
    <li><a href = "Sub2.php"> SubItem2</a></li><br>
    <li><a href = "Sub3.php"> SubItem3</a></li><br>
    <li><a href = "Sub4.php"> SubItem4</a></li>
    </ul>
    </li>
    <li><a href = "Item4.php">Item4</a></li>
    </ul>
    </div>
</body>

CSS

*{
    margin:0;
    padding:0; }

html{
    background:url('bg_tile.jpg') #333d43; }

body{
    background:url('bg_head.jpg') repeat-x top center, url('../img/bg_vert.jpg') repeat-x;
    min-height:500px;
    font:14px/1.3 'Segoe UI',Arial, sans-serif;
    color:#888;
    padding:10px; }


.fancyNav{
    overflow: hidden;
    display: inline-block; }

.fancyNav li{

    background-color: #f0f0f0;
    background-image: -webkit-gradient(linear,left top, left bottom,from(#fefefe), color-stop(0.5,#f0f0f0), color-stop(0.51, #e6e6e6));
    background-image: -moz-linear-gradient(#fefefe 0%, #f0f0f0 50%, #e6e6e6 51%);
    background-image: -o-linear-gradient(#fefefe 0%, #f0f0f0 50%, #e6e6e6 51%);
    background-image: -ms-linear-gradient(#fefefe 0%, #f0f0f0 50%, #e6e6e6 51%);
    background-image: linear-gradient(#fefefe 0%, #f0f0f0 50%, #e6e6e6 51%);

    border-right: 1px solid rgba(9, 9, 9, 0.125);

    box-shadow: 1px -1px 0 rgba(255, 255, 255, 0.6) inset;
    -moz-box-shadow: 1px -1px 0 rgba(255, 255, 255, 0.6) inset;
    -webkit-box-shadow: 1px -1px 0 rgba(255, 255, 255, 0.6) inset;

    position:relative;

    float: left;
    list-style: none; }

.fancyNav li:after{


    content:'.';
    text-indent:-9999px;
    overflow:hidden;
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    z-index:1;
    opacity:0;

    background-image:-webkit-gradient(linear, left top, right top,
    from(rgba(168,168,168,0.5)),color-stop(0.5,rgba(168,168,168,0)),
    to(rgba(168,168,168,0.5)));
    background-image:-moz-linear-gradient(left, rgba(168,168,168,0.5),
    rgba(168,168,168,0) 50%, rgba(168,168,168,0.5));
    background-image:-o-linear-gradient(left, rgba(168,168,168,0.5),
    rgba(168,168,168,0) 50%, rgba(168,168,168,0.5));
    background-image:-ms-linear-gradient(left, rgba(168,168,168,0.5),
    rgba(168,168,168,0) 50%, rgba(168,168,168,0.5));
    background-image:linear-gradient(left, rgba(168,168,168,0.5), rgba(168,168,168,0)
    50%, rgba(168,168,168,0.5));

    box-shadow:-1px 0 0 #a3a3a3,-2px 0 0 #fff,1px 0 0 #a3a3a3,2px 0 0 #fff;
    -moz-box-shadow:-1px 0 0 #a3a3a3,-2px 0 0 #fff,1px 0 0 #a3a3a3,2px 0 0 #fff;
    -webkit-box-shadow:-1px 0 0 #a3a3a3,-2px 0 0 #fff,1px 0 0 #a3a3a3,2px 0 0 #fff;

    -moz-transition:0.25s all;
    -webkit-transition:0.25s all;
    -o-transition:0.25s all;
    transition:0.25s all; }

.fancyNav li:first-child{
    border-radius: 4px 0 0 4px; }

.fancyNav li:first-child:after,
.fancyNav li.selected:first-child:after{
    box-shadow:1px 0 0 #a3a3a3,2px 0 0 #fff;
    -moz-box-shadow:1px 0 0 #a3a3a3,2px 0 0 #fff;
    -webkit-box-shadow:1px 0 0 #a3a3a3,2px 0 0 #fff;

    border-radius:4px 0 0 4px; }

.fancyNav li:last-child{
    border-radius: 0 4px 4px 0; }

.fancyNav li:last-child:after,
.fancyNav li.selected:last-child:after{
    box-shadow:-1px 0 0 #a3a3a3,-2px 0 0 #fff;
    -moz-box-shadow:-1px 0 0 #a3a3a3,-2px 0 0 #fff;
    -webkit-box-shadow:-1px 0 0 #a3a3a3,-2px 0 0 #fff;

    border-radius:0 4px 4px 0; }

.fancyNav li:hover:after,
.fancyNav li.selected:after,
.fancyNav li:target:after{
    opacity:1;
}

.fancyNav:hover li.selected:after,
.fancyNav:hover li:target:after{
    opacity:0;
}

.fancyNav li.selected:hover:after,
.fancyNav li:target:hover:after{
    opacity:1 !important;
}


.fancyNav li a{
    color: #5d5d5d;
    display: inline-block;
    font: 20px/1 Lobster,Arial,sans-serif;
    padding: 12px 35px 14px;
    position: relative;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.6);
    z-index:2;
    text-decoration:none !important;
    white-space:nowrap;
}

.fancyNav a.homeIcon{
    background:url('home.png') no-repeat center center;
    display: block;
    overflow: hidden;
    padding-left: 12px;
    padding-right: 12px;
    text-indent: -9999px;
    width: 16px;
}


h1,h2{
    color: #fff;
    line-height: 1;
    background-color: #222;
    font-family: 'Segoe UI Light','Segoe UI',Arial,sans-serif;
    font-weight: normal;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    margin-left: -446px;
}

h1{
    font-size: 36px;
    padding: 5px 15px 10px;
    top: 0;
}

h2{
    font-size: 14px;
    padding: 4px 13px 9px 11px;
    top: 51px;
}

header{
    display:block;
    margin-top:50px;
    position:relative;
}

nav{
    display: block;
    margin: 300px auto 0;
    text-align: center;
    width: 600px;
}

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

nav:hover ul{
    display: block
}

nav ul li{ 
        width: 10em; }

nav ul li:hover{
    color: #5d5d5d;
    display: inline-block;
    font: 20px/1 Lobster,Arial,sans-serif;
    padding: 12px 35px 14px;
    position: relative;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.6);
    z-index:2;
    text-decoration:none !important;
    white-space: nowrap;
    overflow: hidden;
}


footer{
    color: #BBBBBB;
    font-size: 15px;
    line-height: 1.6;
    padding: 60px 20px 0;
    text-align: center;
    display:block;
}

footer b{
    color: #888888;
    display: block;
    font-size: 10px;
    font-weight: normal;
}

a, a:visited {
    text-decoration:none;
    outline:none;
    color:#54a6de;
}

a:hover{
    text-decoration:underline;
}

Upvotes: 0

Views: 129

Answers (1)

Costin_T
Costin_T

Reputation: 786

First, remove the <br/> tags in your child ul list. Then remove the overflow: hidden; property of your .fancyNav CSS style. Then add this bit to your CSS:

.fancyNav li > ul {
    display: none;
    position: absolute;
    left: 0;
}

.fancyNav li:hover > ul {
    display: block;
    border-radius: 0 !important;
}
.fancyNav li > ul li {
    float: none;
    border-radius: 0 !important;
}

Here is a Working Demo. It doesn't load your background images, but you get the idea.

Upvotes: 1

Related Questions