使用z-index属性定位下拉菜单和Nivo滑块

时间:2015-04-13 20:24:41

标签: jquery html css nivo-slider

如何在滑块上显示我的下拉菜单“目录”?它在Google Chrome中无效。

JSFiddle

从Dropbox下载我的代码存档:MyCode Index.html

<!DOCTYPE html>
<html>
    <head>  
        <meta charset="utf-8">
        <title>Nivo-Slider-test</title>

        <link rel="stylesheet" href="css/style.css">
        <link rel="stylesheet" href="css/sub_menu.css">
        <link rel="stylesheet" href="css/nivo-slider.css">
    </head>

    <body> 
        <aside>
            <nav>
                <ul>
                    <li>Home</li>
                    <li class="catalog">
                        Catalog

                        <ul>
                            <h2>Catalog</h2>

                            <li>Category 1</li>
                            <li>Category 2</li>
                            <li>Category 3</li>
                            <li>Category 4</li>
                            <li>Category 5</li>
                            <li>Category 6</li>
                            <li>Category 7</li>
                            <li>Category 8</li>
                            <li>Category 9</li>
                            <li>Category 10</li>
                            <li>Category 11</li>
                            <li>Category 12</li>
                        </ul>
                    </li>

                    <li>Cart</li>
                    <li>Profile</li>
                </ul>
            </nav>
        </aside>

                <div id="content">
                   <div id="wrapper">
                        <div class="slider-wrapper theme-default">
                            <div id="slider" class="nivoSlider">
                                <img src="img/toystory.jpg" data-thumb="img/toystory.jpg" alt="">
                               <img src="img/up.jpg" data-thumb="img/up.jpg" alt="" title="This is an example of a caption">
                                <img src="img/walle.jpg" data-thumb="img/walle.jpg" alt="" data-transition="slideInLeft">
                                <img src="img/nemo.jpg" data-thumb="img/nemo.jpg" alt="">
                            </div>
                        </div>
                    </div>

                    <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
                    <script type="text/javascript" src="js/jquery.nivo.slider.js"></script>

                    <script type="text/javascript">
                        $(window).load(function() {
                            $('#slider').nivoSlider();
                        });
                    </script>
                </div>
    </body> 
</html> 

style.css

 * {
      padding: 0;
      margin: 0;
    }

    body {
        min-width: 980px;
        max-width: 2000px;
        margin: 0 auto;
        font-family: Arial;
        background-color: #033951;
    }

    img {
        border: none;
    }

    aside {
        width: 4.8em;
        height: 100%;
        position: fixed;
        background-color: #f0a14c;
    }

    aside nav {
        padding: 2em 0 2em 0;
    }

    aside nav ul li {
        display: block;
        text-align: center;
        height: 7em;
    }


    #content {
        padding: 3.5em 3em 0 7em;
        height: 100%;
    }

    footer {
        background-color: #1e1e1e;
    }

    footer p {
        text-align: center;
        color: #ffffff;
        padding: 0.7em;
    }

    /*new*/

    .pseudo {
        width: 50em;
        height: 20em;
        background-color: yellow;
    }

Sub_menu.css

aside nav ul li ul {
    display: none;
    position: absolute;
    width: 19em;
    height: 100%;
    top: 0;
    left: 4.8em;
    background-color: #e1dcdc;
    list-style-type: none;
    padding: 0 0.4em 0 0.4em;
    z-index: 10; 
}

aside nav ul li:hover ul {
    position: absolute;
    display: block;
    z-index: 10;
}

aside nav ul li ul h2 {
    text-align: center;
    font-size: 1.5em;
    padding: 2.5em 0 0.5em 0;
    border-bottom: 0.1em solid #cbc7c7;
}

aside nav ul li ul li {
    padding: 0;
    margin: 0;
    height: auto;
    text-align: left;
    font-size: 1.2em;
    padding: 0.4em 0 0.4em 1.1em;
    border-bottom: 0.15em solid #cbc7c7;
}

nivo-slider.css

/*
 * jQuery Nivo Slider v3.0.1
 * http://nivo.dev7studios.com
 *
 * Copyright 2012, Dev7studios
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 */

/* The Nivo Slider styles */

.slider-wrapper { 
    width: 80%; 
    margin: 20px auto;
}

.theme-default #slider {
    margin:100px auto 0 auto;
}
.theme-pascal.slider-wrapper,
.theme-orman.slider-wrapper {
    margin-top:150px;
}

/*====================*/
/*=== Other Styles ===*/
/*====================*/
.clear {
    clear:both;
}

.nivoSlider {
    position:relative;
    width:100%;
    height:auto;
    overflow: hidden;
}
.nivoSlider img {
    position:absolute;
    top:0px;
    left:0px;
}
.nivo-main-image {
    display: block !important;
    position: relative !important; 
    width: 100% !important;
}

/* If an image is wrapped in a link */
.nivoSlider a.nivo-imageLink {
    position:absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    border:0;
    padding:0;
    margin:0;
    z-index:6;
    display:none;
}
/* The slices and boxes in the Slider */
.nivo-slice {
    display:block;
    position:absolute;
    z-index:5;
    height:100%;
    top:0;
}
.nivo-box {
    display:block;
    position:absolute;
    z-index:5;
    overflow:hidden;
}
.nivo-box img { display:block; }

/* Caption styles */
.nivo-caption {
    position:absolute;
    left:0px;
    bottom:0px;
    background:#000;
    color:#fff;
    width:100%;
    z-index:8;
    padding: 5px 10px;
    opacity: 0.8;
    overflow: hidden;
    display: none;
    -moz-opacity: 0.8;
    filter:alpha(opacity=8);
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;         /* Opera/IE 8+ */
}
.nivo-caption p {
    padding:5px;
    margin:0;
}
.nivo-caption a {
    display:inline !important;
}
.nivo-html-caption {
    display:none;
}
/* Direction nav styles (e.g. Next & Prev) */
.nivo-directionNav a {
    position:absolute;
    top:45%;
    z-index:9;
    cursor:pointer;
}
.nivo-prevNav {
    left:0px;
}
.nivo-nextNav {
    right:0px;
}
/* Control nav styles (e.g. 1,2,3...) */
.nivo-controlNav {
    text-align:center;
    padding: 15px 0;
}
.nivo-controlNav a {
    cursor:pointer;
}
.nivo-controlNav a.active {
    font-weight:bold;
}

.theme-default .nivoSlider {
    position:relative;
    background:#fff url(../img/loading.gif) no-repeat 50% 50%;
    margin-bottom:50px;
    -webkit-box-shadow: 0px 1px 5px 0px #4a4a4a;
    -moz-box-shadow: 0px 1px 5px 0px #4a4a4a;
    box-shadow: 0px 1px 5px 0px #4a4a4a;
}
.theme-default .nivoSlider img {
    position:absolute;
    top:0px;
    left:0px;
    display:none;
}
.theme-default .nivoSlider a {
    border:0;
    display:block;
}

.theme-default .nivo-controlNav {
    text-align: center;
    padding: 20px 0;
}
.theme-default .nivo-controlNav a {
    display:inline-block;
    width:22px;
    height:22px;
    background:url(../img/bullets.png) no-repeat;
    text-indent:-9999px;
    border:0;
    margin: 0 2px;
}
.theme-default .nivo-controlNav a.active {
    background-position:0 -22px;
}

.theme-default .nivo-directionNav a {
    display:block;
    width:30px;
    height:30px;
    background:url(../img/arrows.png) no-repeat;
    text-indent:-9999px;
    border:0;
}
.theme-default a.nivo-nextNav {
    background-position:-30px 0;
    right:15px;
}
.theme-default a.nivo-prevNav {
    left:15px;
}

.theme-default .nivo-caption {
    font-family: Helvetica, Arial, sans-serif;
}
.theme-default .nivo-caption a {
    color:#fff;
    border-bottom:1px dotted #fff;
}
.theme-default .nivo-caption a:hover {
    color:#fff;
}

.theme-default .nivo-controlNav.nivo-thumbs-enabled {
    width: 100%;
}
.theme-default .nivo-controlNav.nivo-thumbs-enabled a {
    width: auto;
    height: auto;
    background: none;
    margin-bottom: 5px;
}
.theme-default .nivo-controlNav.nivo-thumbs-enabled img {
    display: block;
    width: 120px;
    height: auto;
}

1 个答案:

答案 0 :(得分:1)

看起来您的问题在于z-index元素。幻灯片显示是从堆栈顺序出来并导致重叠的原因。您需要在z-index上创建一个更高的aside,然后再幻灯片的最后一张幻灯片。或者,您最好在z-index: 2;asideposition: relative; z-index: 1;添加#content,以确保其始终位于aside之下。

相关问题